《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获取地址栏参数
Dec 22 Javascript
JavaScript CSS 修改学习第四章 透明度设置
Feb 19 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
May 16 Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 Javascript
JavaScript仿支付宝密码输入框
Dec 29 Javascript
jQuery 插件封装的方法
Nov 16 Javascript
JavaScript定时器制作弹窗小广告
Feb 05 Javascript
vue的安装及element组件的安装方法
Mar 09 Javascript
Vue实现内部组件轮播切换效果的示例代码
Apr 07 Javascript
详解在Node.js中发起HTTP请求的5种方法
Jan 10 Javascript
Vue实现验证码功能
Dec 03 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
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
2010/11/01 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
PHP实现数组的笛卡尔积运算示例
2017/12/15 PHP
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
JavaScript中的标签语句用法分析
2015/02/10 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
微信企业号开发之微信考勤百度地图定位
2015/09/11 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
js实现日历的简单算法
2017/01/24 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Fabric 应用案例
2016/08/28 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
python实现教务管理系统
2018/03/12 Python
Python实现快速计算词频功能示例
2018/06/25 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
2020/02/07 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
大学生求职推荐信
2013/11/27 职场文书
师范生自荐信模板
2014/05/28 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
单身证明范本
2015/06/15 职场文书
一文搞懂Redis中String数据类型
2022/04/03 Redis