﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-从制造到创造-随笔分类-JavaScript高级程序设计</title><link>http://www.blogjava.net/coderdream/category/26356.html</link><description>软件工程师成长之路</description><language>zh-cn</language><lastBuildDate>Fri, 05 Oct 2007 02:09:58 GMT</lastBuildDate><pubDate>Fri, 05 Oct 2007 02:09:58 GMT</pubDate><ttl>60</ttl><item><title>第1章 JavaScript 是什么</title><link>http://www.blogjava.net/coderdream/archive/2007/10/04/150410.html</link><dc:creator>CoderDream</dc:creator><author>CoderDream</author><pubDate>Thu, 04 Oct 2007 13:35:00 GMT</pubDate><guid>http://www.blogjava.net/coderdream/archive/2007/10/04/150410.html</guid><wfw:comment>http://www.blogjava.net/coderdream/comments/150410.html</wfw:comment><comments>http://www.blogjava.net/coderdream/archive/2007/10/04/150410.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/coderdream/comments/commentRss/150410.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/coderdream/services/trackbacks/150410.html</trackback:ping><description><![CDATA[<p><span style="font-size: 14pt">第1章 JavaScript是什么</span></p>
<p><strong style="font-size: 12pt">1.1 历史简述</strong><br />
1997年，JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会（ECMA）。第39技术委员会（TC39）被委派来&#8220;标准化一个通用、跨平台、中立于厂商的脚本语言的语法和语义&#8221;（http://www.ecma-international.org/memento/TC39.htm)。TC39锤炼出了ECMA-262，该标准定义了叫做ECMAScript的全新脚本语言。在接下来的几年里，国际标准化组织及国际电工委员会（ISO/IEC）也采纳ECMAScript作为标准（ISO/IEC-16262）。</p>
<p><strong>1.2 JavaScript实现<br />
</strong>JavaScript实现是由以下3个部分组成的：<br />
－核心（ECMAScript）<br />
－文档对象模型（DOM）<br />
－浏览器对象模型（BOM）<br />
<img height="137" alt="" src="http://www.blogjava.net/images/blogjava_net/coderdream/JavaScript/Professional_JavaScript_for_Web_Developers/chap01/snap0030.jpg" width="272" border="0" /></p>
<p><span style="font-size: 12pt">1.2.1 ECMAScript</span><br />
&nbsp;ECMAScript描述了以下内容：<br />
&nbsp;语法；<br />
&nbsp;类型；<br />
&nbsp;语句；<br />
&nbsp;关键字；<br />
&nbsp;保留字；<br />
&nbsp;运算符；<br />
&nbsp;对象。</p>
<p>ECMAScript仅仅是一个描述，定义了脚本语言的所有属性、方法和对象。其他的语言可以实现ECMAScript来作为功能的标准，JavaScript就是这样。<br />
<img height="124" alt="" src="http://www.blogjava.net/images/blogjava_net/coderdream/JavaScript/Professional_JavaScript_for_Web_Developers/chap01/snap0031.jpg" width="271" border="0" /><br />
1.2.1.1&nbsp; ECMAScript的版本<br />
最新的ECMA-262的版本是第三版，于1999年12月发布。<br />
第一版：删除来与浏览器相关的代码的JavaScript1.1。<br />
第二版：大部分更新本质上是编辑性的，未特别添加、更改和删除内容。<br />
第三版：提供了对字符串处理、错误定义和数组输出的更新。同时，它还增加了正则表达式、新的控制语句、try...catch异常处理的支持，以及一些为使标准国际化而做的小改动。标志着ECMAScript成为一种真正的编程语言。<br />
1.2.1.2&nbsp; 何谓ECMAScript符合性<br />
一个脚本语言必需满足以下四项基本原则：<br />
符合的实现必须按照ECMA-262中所描述的支持所有的&#8220;类型、值、对象、属性、函数和程序语法及语义；<br />
符合的实现必须支持Unicode字符标准（UCS）；<br />
符合的实现可以增加没有在ECMA-262中指定的&#8220;额外的类型、值、对象、属性和函数&#8221;。<br />
符合的实现可以支持没有在ECMA-262中定义的&#8220;程序和正则表达式语法&#8221;即可以替换或者扩展内建的正则表达式支持。</p>
<p>1.2.1.3 Web浏览器中的ECMAScript支持<br />
以下版本支持ECMA-262第三版：Netscape 6.0+(Mozilla 0.6.0+)、Internet Explorer 5.5+、Opera 7.2+、Safari 1.0+/Konqueror~2.0+</p>
<p>1.2.2 DOM<br />
DOM（文档对象模型）是HTML和XML的应用程序接口（API）。DOM将整个页面规划成由节点层级构成的文档。HTML或XML页面的每个部分都是一个节点的衍生物。&nbsp;</p>
<p>请考虑下面的HTML页面：<br />
<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; font-family: Courier; background-color: #eeeeee"><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">Sample&nbsp;Page</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">Hello&nbsp;World!</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">p</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span></div>
<p>&nbsp;</p>
<p>这段代码可以用DOM绘制成一个节点层次图。<br />
</p>
<p><img height="357" alt="" src="http://www.blogjava.net/images/blogjava_net/coderdream/JavaScript/Professional_JavaScript_for_Web_Developers/chap01/snap0032.jpg" width="306" border="0" /><br />
<br />
DOM通过创建树来表示文档，从而使开发者对文档的内容和结构具有空前的控制力。用DOM API可以轻松地删除、添加和替换节点。</p>
<p>1.2.2.1 为什么DOM必不可少<br />
保持Web的跨平台特性，Web通信标准的团体W3C（World Wide Web Consortium）开始制定DOM。</p>
<p>1.2.2.2 DOM的各个Level<br />
DOM Level 1 是W3C于1998年10月提出的。它由两个模块构成，即DOM Core和DOM HTML。前者提供了基于 XML 的文档的结构图，以方便访问和操作文档的任意部分；后者添加了一些 HTML 专用的对象和方法，从而扩展了DOM Core。</p>
<p>DOM Level 1 只有一个目标，即规划文档的结构。<br />
DOM Level 2 引入了几种 DOM 新模块，用于处理新的接口类型：<br />
DOM 视图－－描述跟踪文档的各种视图（即 CSS 样式化之前和 CSS 样式化之后的文档）的接口；<br />
DOM 事件－－描述事件的接口；<br />
DOM 样式－－描述处理基于 CSS 样式的接口；<br />
DOM 遍历和范围－－描述遍历和操作文档树的接口。<br />
DOM Level 3 引入了以统一的方式载入和保存文档的方法（包含在新模块 DOM Load and Save 中）以及验证文档（DOM Validation）的方法，从而进一步扩展了 DOM 。在Level 3 中，DOM Core 被扩展为支持所有的 XML 1.0 特性，包括 XML Infoset、XPath 和 XML Base。</p>
<p>1.2.2.3 其他 DOM<br />
可缩放矢量图形（SVG）1.0；<br />
数学标记语言（MathML）1.0；<br />
同步多媒体集成语言（SMIL）。<br />
1.2.2.4 Web 浏览器中的 DOM 支持<br />
</p>
<p><img height="256" alt="" src="http://www.blogjava.net/images/blogjava_net/coderdream/JavaScript/Professional_JavaScript_for_Web_Developers/chap01/snap0033.jpg" width="650" border="0" /><br />
1.2.3 BOM（浏览器对象模型）</p>
<p>BOM 主要处理浏览器窗口和框架，扩展部分包括：<br />
弹出新的浏览器窗口；<br />
移动、关闭浏览器窗口以及调整窗口大小；<br />
提供 Web 浏览器详细信息的导航对象；<br />
提供装载到浏览器中页面的详细信息的定位对象；<br />
提供用户屏幕分辩率详细信息的屏幕对象；<br />
对 Cookie 的支持；<br />
IE 扩展了 BOM，加入了 ActiveXObject 类，可以通过 JavaScript 实例化 ActiveX 对象。</p>
<p>1.3 小结<br />
本章介绍了 JavaScript 这种客户端 Web 浏览器脚本语言，了解了构成 JavaScript 完整实现的各个部分：<br />
JavaScript 的核心 ECMAScript 描述了该语言的语法和基本对象；<br />
DOM 描述了处理页面内容的方法和接口；<br />
BOM 描述了与浏览器进行交互的方法和接口。</p>
<img src ="http://www.blogjava.net/coderdream/aggbug/150410.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/coderdream/" target="_blank">CoderDream</a> 2007-10-04 21:35 <a href="http://www.blogjava.net/coderdream/archive/2007/10/04/150410.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>