《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史


Posted in Javascript onJanuary 09, 2015

JavaScript 是Netscape公司与Sun公司合作开发的。在 JavaScript 1.0发布时,Netscape Navigator主宰着浏览器市场。微软在推出IE3的时候发布了自己的VBScript语言,同时以JScript为名发布了JavaScript 的一个版本,很快赶上了 Netscape 的步伐。面对微软公司的竞争,Netscape 和 Sun公司联合ECMA(欧洲计算机制造商协会)对JavaScript 语言进行了标准化,于是出现了ECMAScript语言,这是同一种语言的另一种名字。

     DOM是一套对文档的内容进行抽象和概念化的方法。Netscape Navigator 4发布于1997年6月,IE4发布于同年10月。这两种浏览器都对它们的早期版本进行了许多改进,大幅扩展了DOM,使能够通过JavaScript 完成的功能大大增加。而网页设计人员也开始接触到一个新名词:DHTML(动态HTML)。

     DHTML并不是一项新技术,而是描述HTML, CSS和JavaScript 技术组合的术语。不幸的是,NN 4和IE 4浏览器使用的是两种不兼容的DOM。这导致了一种可笑的局面:程序员在编写DOM脚本代码时必须知道它们将运行在哪种浏览器环境里,所以在实际工作中,许多脚本不得不编写两次,一次为Netscape Navigator,另一次为IE。同时,程序员还必须编写一些代码去探查在客户端运行的浏览器到底是哪一种。DHTML打开了一个充满机会的新世界,但想要进入其中的人们却发现这是个充满苦难的世界。因此,没多久,这种技术的评价就变成了“宣传噱头”和“难以实现”。

     就在浏览器制造商以DOM为武器展开营销大战的同时,W3C结合大家的优点推出了一个标准化的DOM。令人欣慰的是,Netscape、微软和其他一些浏览器制造商们还能抛开彼此的敌意而与W3C携手制定新的标准,并于1998年10月完成了“第1级DOM”(DOM Level 1)。

     W3C对DOM的定义是:“一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态的访问和修改文档的内容、结构和样式。”W3C推出的标准化DOM,在独立性和适用范围等诸多方面,都远远超出了各自为战的浏览器制造商们推出的各种专有DOM。

     今天几乎所有的浏览器都内置了对DOM的支持。我们已经目睹了由异步数据传输技术(Ajax)所引发的的学习DOM脚本编程的热潮,而HTML5 DOM的众多新特性,怎能不让人对Web的未来浮想联翩?

以上为本人对于《JavaScript DOM 编程技术》(第2版)第一章的读后总结,认识下javascript的发展史。

Javascript 相关文章推荐
js类中获取外部函数名的方法
Aug 19 Javascript
jquery中event对象属性与方法小结
Dec 18 Javascript
Jquery实现仿腾讯微博发表广播
Nov 17 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
Sep 04 Javascript
开启Javascript中apply、call、bind的用法之旅模式
Oct 28 Javascript
自己动手写的javascript前端等待控件
Oct 30 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
Apr 23 Javascript
jquery操作ID带有变量的节点实例
Dec 07 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
Feb 15 Javascript
Vue 拦截器对token过期处理方法
Jan 23 Javascript
video.js 一个页面同时播放多个视频的实例代码
Nov 27 Javascript
js用正则表达式筛选年月日的实例方法
Jan 04 Javascript
javascript获取四位数字或者字母的随机数
Jan 09 #Javascript
JS JQUERY实现滚动条自动滚到底的方法
Jan 09 #Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 #Javascript
封装好的js判断操作系统与浏览器代码分享
Jan 09 #Javascript
JavaScript Math.floor方法(对数值向下取整)
Jan 09 #Javascript
使用javascript实现json数据以csv格式下载
Jan 09 #Javascript
js读取csv文件并使用json显示出来
Jan 09 #Javascript
You might like
一个简单实现多条件查询的例子
2006/10/09 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
js实现字符串的16进制编码不加密
2014/04/25 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
图解javascript作用域链
2019/05/27 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
2021/01/18 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
个人近期表现材料
2014/02/11 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
股东协议书范本
2014/04/14 职场文书
爱耳日活动总结
2014/04/30 职场文书
安全生产月宣传标语
2014/10/06 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
离婚协议书样本
2015/01/26 职场文书
安徽导游词
2015/02/12 职场文书
手术室护士个人总结
2015/02/13 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
初中化学教学反思
2016/02/22 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android