《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 相关文章推荐
jQuery 学习第七课 扩展jQuery的功能 插件开发
May 17 Javascript
jquery 多行文本框(textarea)高度变化
Jul 03 Javascript
jQuery中:radio选择器用法实例
Jan 03 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
Apr 28 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
Oct 21 Javascript
ES6中Math对象新增的方法实例详解
Apr 25 Javascript
vue中的scope使用详解
Oct 29 Javascript
弱类型语言javascript中 a,b 的运算实例小结
Aug 07 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
Sep 12 Javascript
javascript sort()对数组中的元素进行排序详解
Oct 13 Javascript
Vue.js中v-bind指令的用法介绍
Mar 13 Vue.js
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
php jquery 多文件上传简单实例
2013/12/23 PHP
对于Laravel 5.5核心架构的深入理解
2018/02/22 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
js怎么终止程序return不行换jfslk
2013/05/30 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
[47:06]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第一局
2016/03/05 DOTA
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
Python二叉搜索树与双向链表转换算法示例
2019/03/02 Python
python 循环数据赋值实例
2019/12/02 Python
django框架cookie和session用法实例详解
2019/12/10 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
利用python 读写csv文件
2020/09/10 Python
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
《地震中的父与子》教学反思
2014/04/10 职场文书
2014年人事科工作总结
2014/11/19 职场文书
师德师风学习材料
2014/12/19 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
Python绘制分类图的方法
2021/04/20 Python
教你怎么用python实现字符串转日期
2021/05/24 Python
Python OpenCV之常用滤波器使用详解
2022/04/07 Python