《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 元素控制(追加元素/追加内容)介绍及应用
Apr 21 Javascript
父节点获取子节点的字符串示例代码
Feb 26 Javascript
JavaScript数字和字符串转换示例
Mar 26 Javascript
用循环或if语句从json中取数据示例
Aug 18 Javascript
JavaScript入门基础
Aug 12 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
Sep 01 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
May 18 Javascript
JS实现图片手风琴效果
Apr 17 Javascript
JS一个简单的注册页面实例
Sep 05 Javascript
简单的Vue SSR的示例代码
Jan 12 Javascript
js隐式转换的知识实例讲解
Sep 28 Javascript
解决vue组件中click事件失效的问题
Nov 09 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
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
2017/04/25 Javascript
javascript、php关键字搜索函数的使用方法
2018/05/29 Javascript
使用webpack打包后的vue项目如何正确运行(express)
2018/10/26 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
2020/12/23 Javascript
[02:20]DOTA2亚洲邀请赛 IG战队出场宣传片
2015/02/07 DOTA
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
python3实现短网址和数字相互转换的方法
2015/04/28 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
python多线程同步之文件读写控制
2021/02/25 Python
Python字典生成式、集合生成式、生成器用法实例分析
2020/01/07 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
员工晚婚的请假条
2014/02/08 职场文书
《燕子》教学反思
2014/02/18 职场文书
林肯就职演讲稿
2014/05/19 职场文书
php png失真的原因及解决办法
2021/10/24 PHP