《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 相关文章推荐
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
Dec 03 Javascript
Javascript中判断对象是否为空
Jun 10 Javascript
JS延时提示框实现方法详解
Nov 26 Javascript
ClearTimeout消除闪动实例代码
Feb 29 Javascript
js插件Jcrop自定义截取图片功能
Oct 14 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
Jan 23 Javascript
Google 爬虫如何抓取 JavaScript 的内容
Apr 07 Javascript
Node.js 中使用 async 函数的方法
Nov 20 Javascript
Nuxt.js踩坑总结分享
Jan 18 Javascript
深入浅出vue图片路径的实现
Sep 04 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
Sep 29 Javascript
js+cavans实现图片滑块验证
Sep 29 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
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
微信小程序 支付简单实例及注意事项
2017/01/06 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
在vue项目中引入vue-beauty操作方法
2019/02/11 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
Python3基础之list列表实例解析
2014/08/13 Python
Python中的True,False条件判断实例分析
2015/01/12 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
python3中函数参数的四种简单用法
2018/07/09 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
利用python GDAL库读写geotiff格式的遥感影像方法
2018/11/29 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
python3中编码获取网页的实例方法
2020/11/16 Python
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
喷漆工的岗位职责
2014/03/17 职场文书
园艺师求职信
2014/04/27 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
文明单位申报材料
2014/12/23 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
linux中nohup和后台运行进程查看及终止
2021/06/24 Python
Java 在生活中的 10 大应用
2021/11/02 Java/Android
MySQL磁盘碎片整理实例演示
2022/04/03 MySQL