JavaScript DOM编程艺术第一章:JavaScript简史

本系列的博客是由本人在阅读《JavaScript DOM编程艺术》一书过程中做的总结。前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助,所以

如果您也看过这本书,希望不要喷小的“抄袭”,其实我也懒得敲这些文字也想简单粗暴地上代码,但是只有实践没有理论不容易自己理解,为避免误导,该“抄”的地方还是要“抄”的,哈哈~~

一、JavaScript的起源

JavaScript是Netscape公司和Sun公司合作开发的。在JavaScript出现之前,Web浏览器不过是一种能够显示超文本文档的简单的软件。而在JavaScript出现之后,网页的交互性得到了很大的改善。

JavaScript的第一个版本,即JavaScript1.0出现在1995年推出的Netscape Navigator2浏览器中。

在JavaScript1.0发布时,Netscape Navigator主宰着市场,IE则扮演着追赶者的角色。微软在推出IE3的时候发布了自己的VBScript语言,同时以Jscript为名发布了JavaScript的第一个版本,以此

很快跟上了Netscape的步伐。面对微软的竞争,Netscape和Sun公司联合ECMA(欧洲计算机制造协会)非JavaScript语言进行了标准化。于是出现了ECMAScript语言,这是同一个语言的另一个名字。

虽说ECMAScript这个名字没有流行开来,但人们现在讨论的JavaScript实际上就是ECMAScript。

到了1996年,JavaScript、ECMAScript和JScript已经站稳了脚跟。Netscape和微软都在各自的浏览器里不同程度地支持JavaScript1.1。

二、DOM

本书主要讲的内容就是DOM编程艺术,所以先来对DOM进行一个大概的了解。简单的说,DOM是一套对文档的内容进行抽象和概念化的方法。DOM是Document Object Model的简写,即文档对象模型,

所以望文生义就能猜到这是将文档视为对象的一种方法。既然是对象,就应该有属性,所以JavaScript的DOM编程其实就是通过文档对象获取属性并对其进行操作。

三、浏览器战争

1、DHTML

DHTML是“Dynamic HTML”(动态HTML)的简称。DHTML并不是一项新技术,而是描述HTML、CSS和JavaScript技术组合的术语。其意义包含下面三个方面:

(1) 利用HTML把网页标记为各种元素

(2) 利用CSS设置元素样式和显示的位置

(3) 利用JavaScript实时地操控页面和改变样式

2、浏览器之间的冲突

Netscape公司的DOM使用了专有元素,这些元素称为层Layer。层有唯一的ID,JavaScript需要像下面这样引用它们:

document.layers[‘element’]

而在IE中这个元素要像下面这样引用:

document.all[‘element’]

像这样的区别还有很多,这就导致开发人员在编写DOM脚本代码时必须知道该脚本将运行在何种浏览器上。同时,为了确保能够正确地向不同的浏览器提供与之相应的代码,还要写一些代码探查在

客户端运行的浏览器是哪种。

四、定制标准

就在浏览器厂商们以DOM为开发武器展开营销大战的同时,W3C已经结合大家的优点推出了一个标准化的DOM。令人开心的是,浏览器厂商们也能抛开彼此之间的敌意,携手W3C制定新的标准,

并与1998年10月完成了”第一级DOM“。浏览器厂商们感兴趣的只不过是通过JavaScript控制网页的具体方法,而W3C推出的标准化DOM则可以让任何一种程序设计语言对使用任何一种标记语言编写

出来的任何一份文档进

行操控。

1、浏览器以外的考虑

DOM是一种API(应用编程接口),即一种得到各方共同认可的基本约定,例如摩尔斯码、国际时区和化学元素周期表一样,都是不同科学领域的标准。所谓无规不成方圆,DOM就是这样一个标准,开

发人员必须遵循这一套标准开发。

W3C对DOM的定义是:”一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态地访问和改变文档的内容、结构和样式“。W3C推出的标准化DOM,在独立性和适用范围等诸多方面

都远远超出了浏览器厂商们推出的各种专有的DOM,因此才成为编程语言领域的一种标准。

2、浏览器战争的结局

浏览器战争影响最大的是网站设计人员。跨浏览器开发是他们的噩梦,除了JavaScript的差异之外,Netscape和IE在对CSS的支持上也有很大的差别,导致编写同时支持这两种浏览器的样式成了一种

黑色艺术。因此浏览器厂商们的这种行为遭到人们的激烈的反对,一个名为Web标准计划的小组应用而生,鼓励浏览器制造商们采用W3C制定和推荐的各项标准,也就是在浏览器厂商们的帮助下得以起草

和完善的那些标准,这才使浏览器产品对web标准的支持得到了极大的改善。

3、崭新的起点

如今的浏览器市场已经跟以前的完全不一样。首先Netscape已经不复存在,而一些新秀又迅速崛起,到目前,市场上比较主流的浏览器有Chrome、Firefox、Opera和IE.而且几乎所有的浏览器里都

内置了对DOM的支持,终于实现了“编写一次,到处运行”的梦想,只要遵循DOM标准,开发人员就可以放心大胆地去做。

以上就是第一章的内容,通过介绍因为JavaScript脚本引起的浏览器大战,引出W3C提出的行业级DOM标准,进一步介绍DOM的含义,最后又回归到浏览器大战的结局上说明了W3C的DOM标准之

重要性,可见是浏览器促进了JavaScript语言的进步,所以在学习JavaScript之前要对浏览器有一定的了解,当然,我说的是浏览器的底层技术,比如解析、识别语言等。

时间: 2024-12-24 01:55:28

JavaScript DOM编程艺术第一章:JavaScript简史的相关文章

JavaScript Dom编程艺术 第6章的一个错误

今天在看JavaScript Dom编程艺术 第6章:图片库的改进版时:按照书上的代码,敲出来运行,确怎么也不能显示出正确的结果.加进去断点,调试,发现:prepareGallery 函数根本没被调用,而prepareGallery函数是绑定到window.onLoad事件上的,于是仔细检查书上代码,发现,window.onLoad = prepareGallery;后边少加了个括号.加上括号之后,结果正确.改正后的代码如下: 1 function addLoadEvent(func){ 2 v

JavaScript对于DOM的常见操作——《JavaScript DOM编程艺术》读书总结

读完一本书一定要将收获进行整理沉淀,不然相当于白读.<JavaScript DOM编程艺术>的确是一本JavaScript好的入门书,简短精炼,现在就用一篇文章对本书中的一些知识要点进行总结. 首先要明白的一件事就是什么是DOM.DOM即文档对象模型(Document Object Model),document指的就是网页文档,而Object,在JavaScript中共有三种对象,分别是用户定义对象.内建对象(Array.Date和Math等)以及宿主对象(由浏览器提供的对象).而Model

JavaScript DOM编程艺术 读书笔记

3 DOM DOM分别指document,object和model. DOM中包含的节点主要分为三种:元素节点.文本节点和属性节点.DOM的原子是元素节点,标签的名字就是元素的名字,元素可以包含其他的元素.没有被包含在其他元素里的唯一元素是<html>元素,它是树节点的根元素:在XHTML文档里,文本节点总是被包含在元素节点的内部.但并非所有的元素节点都包含有文本节点:属性节点用来对元素做出更具体地描述. 有3种DOM方法可获取元素节点,分别是通过元素ID.通过标签名字和通过类名字来获取. 1

《javascript dom编程艺术》笔记(一)——优雅降级、向后兼容、多个函数绑定onload函数

刚刚开始自学前端,如果不对请指正:欢迎各位技术大牛指点. 开始学习<javascript dom编程艺术>,整理一下学习到的知识.今天刚刚看到第六章,记下get到的几个知识点. 优雅降级 看到版本翻译为预留退路,刚刚看到个名词,我觉得很奇怪,以前没有听说过啊.不过看到英文注释就知道了Graceful degradation不就是优雅降级么,听说过! 书中举了个例子,点击一个链接,弹出一个窗口的方法. function popUp(WinURL){ window.open(WinURL,&quo

《javascript DOM 编程艺术》学习笔记(一)

书籍已经看完了前六章的内容,有了一定的编程基础后觉得本书内容相对来说过于简单,应该是完全针对于初学者的(或者如作者所说是写个Web设计师的),作者在表述一个问题,一句代码都解释得非常啰嗦与重复,不过从书中学习到更多的,也是作者想让读者体会的是让大家理解DOM脚本编程技术背后的思路和原则,作者特别以早期Javascript的滥用来强调Web的规范与标准,这一点是非常值得学习的,也是一个程序员的基本素养. 截止到第六章,将所学到的知识点归纳如下: 1.基本语法:与php一样是弱类型语言,虽然功能强大

《JavaScript dom 编程艺术》 placeholder占位符IE8兼容办法。

在<JavaScript dom 编程艺术>第11章学来的. 相对于用JavaScript替换文本框的提示语句 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <script> 7 window.onload = funct

Javascript Dom编程艺术(第2版)读书笔记

Javascript Dom编程艺术这本书我看的是第2版的,真心觉得这本书不错,它将DOM编程的一些基本原则,及如何让Javascript代码在浏览器不支持的情况下,或浏览器支持了Javascript但用户禁用它的情况下做到平衡退化,让最基本的操作仍能顺利完成,以及如何让结构与样式分享做到真正的渐近增强叙述得很清楚,也很容易理解接受.我也是看了这本书之后,才对代码优化,结构,行为,样式有了进一步的加深理解. Javascript Dom编程艺术(第2版)读书笔记,布布扣,bubuko.com

Javascript DOM 编程艺术读书笔记16/04/01

愚人节快乐 开始用webstorm了,随着学习深入,代码越来越长,因为不借助ide还真是挺难的 今天发现了一个严重的误区,text和textNode是完全不同的两个概念,之前没有特别注意,写代码很容易跳过createTextNode直接用parentNode.appendChild(text) 单独拎出来晒一晒,以后引以为戒 Javascript DOM 编程艺术读书笔记16/04/01

JavaScript DOM编程艺术学习笔记(一)

嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推荐给想了解HDOM的相关人员!首先非常感谢作者写出了这么好的一本书,谢谢!书中的内容比较多,我仅记下我认为对自己和他人有所帮助的一些内容! 嗯,首先还是让代码来说话吧! 下面是两段此书中反复强调且通用的经典代码段 1:相当的经典和实用,尤其是当需要为页面加载函数绑定多个函数的时候 /** * [addLoad