前言:
为何会想到把《JavaScript 高级程序设计(第 3 版)》总结记录呢,以前写过一篇博客,研究的轮播效果,后来又去看了《JavaScript 高级程序设计(第3版)》,忽然想着边看边记录,就像边看边写读后感。这本书从介绍表达式和申明变量开始,平滑的过渡到了闭包、面向对象开发等高级主题。与那些把大量篇幅花在讲解背景知识上的书,以及那些让人感受好像要使用JavaScript 开发导弹制导系统的书,这本书让人感受细致周到、亲切天然,这是一本写给“普通人”的书。它可以让你编写出引觉得荣的代码。构建出使人叫绝的网站。JavaScript 是一种很是松散的面向对象语言,也是 Web 开发中极受欢迎的一门语言。它是一种全新的动态语言,植根于全球数亿网民都在使用的 Web 浏览器之中,致力于加强网站和 Web 应用程序的交互性。html
本书目录:
1:JavaScript 简介
2:在HTML中使用 JavaScript
3:基本概念
4:变量、做用域和内存问题
5:引用类型
6:面向对象的程序设计
7:函数表达式
8:BOM
9:客户端检测
10:DOM
11:DOM 扩展
12:DOM2 和 DOM3
13:事件
14:表单脚本
15:使用 Canvas 绘图
16:HTML5 脚本编程
17:错误处理与调试
18:JavaScript 与 XML
19:E4X
20:JSON
21:Ajax 与 Comet
22:高级技巧
23:离线应用与客户端存储
24:最佳实践
25:新兴的 API前端
好了,话很少说,开始个人第一章 Read。
本章主要内容:
JavaScript 是什么、JavaScript 与 ECMAScript 的关系、JavaScript 的不一样版本程序员
第一个问题:JavaScript 是什么?
JavaScript 诞生于 1995 年。当时它的主要目的是处理之前有服务器端语言(如 Prel)负责的一些输入验证操做。在 JavaScript 问世以前,必须把表单数据发送到服务器端才能肯定用户是否没有填写某个必填域,是否输入了无效的值。Netscape Navigator 但愿经过 JavaScript 来解决这个问题。现在 JavaScript 的用途早已再也不局限简单的数据验证,而是具有了与浏览器窗口及其内容等几乎全部方面交互的能力。如今的 JavaScript 已经成为一门功能全面的编程语言,可以处理复杂的计算和交互,拥有了闭包、匿名(lamda,拉姆达)函数,甚至元编程等特性。编程
第二个问题:JavaScript与ECMAScript的关系?
1997年,以 JavaScrip 1.1 为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA,European Computer Manufactures Association)。该协会指定 39 号技术委员会(TC39,Technical Committee #39)负责“标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义”(http://www.ecmainternational.org/memento/TC39.htm)。TC39 由来自Netscape、sun、微软、Borland 及其余关注脚本语言发展的公司的程序员组成,他们通过数月的努力完成了 ECMA-262 ——定义一种名为 ECMAScript(发音为“ek-ma-script”) 的新脚本语言的标准。浏览器
一个完整的 JavaScript 实现应该由如下三大类组成(如图1-1):服务器
1:核心(ECMAScript)cookie
2:文档对象模型(DOM)闭包
3:浏览器对象模型(BOM)框架
1.1 文档对象模型(DOM,Document Object Mode)是针对 XML 但通过扩展用于 HTML 的应用程序编程接口(API,Application Programming Interface)。DOM 把整个页面映射为一个多层次节点结构。HTML 或 XML 页面中的每一个组成部分都是某种类型的节点,这些节点又包含着不一样类型的数据。下面举一个简单的例子:编程语言
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<p>hello World !</p>
</body>
</html>
在 DOM 中,这个页面能够经过下图 1-2 所示的分层节点图表示。
经过 DOM 建立的这个表示文档的树形图,所以开发人员能够很方便的删除、添加、替换、修改任何节点。
1):为何要使用 DOM?
答:对 Netscape 和微软加以控制;
避免 Web 开发领域出现技术上两强割据;
保持 Web 跨平台的天性;
解决浏览器不兼容问题。
2):DOM 级别
DOM 1级(DOM Level 1)
两个模块:DOM 核心(DOM Core)和DOM HTML
DOM 2级
新增四个模块:· DOM 视图(DOM Views)
· DOM 事件(DOM Events)
· DOM 样式(DOM Style)
· DOM 遍历和范围 (DOM Traversal and Range)
DOM 3级
新增验证文档方法:· DOM验证(DOM Validation)
注:
1:DOM 并不仅是针对 JavaScript,不少其余语言也实现了 DOM;
2:不存在 DOM 0 级标准,DOM 0 级只是 DOM 历史坐标中的一个参照点而已。具体来讲指的是 Internet Explore 4.0和Netscape Navigator 4.0 最初支持的 DHTML。
3):其余 DOM 标准
(1) SVG(Scalable Vector Graphic,可伸缩矢量图)1.0;
(2) MathML(Mathenatical Markup Language,数学标记语言)1.0;
(3) SMIL(Synchronized Multimedia Integration Language,同步多媒体集成语言)。
这些语言都是基于 XML 的,还有一些语言也开发了本身的 DOM 实现,例如 Mozilla 的 XUL(XML User Interface Language,XML 用户界面语言)。但只有上面列出的几种语言是 W3C 的推荐标准。
4):Web浏览器对 DOM 的支持
1.2 浏览器对象模型(DOM)
Internet Explorer 3 和 Netscape Navigator 3 的共同特点就是支持能够访问和操做浏览器窗口的浏览器对象模型(BOM,Browser Object Model)。开发人员使用BOM能够控制浏览器显示的页面之外的部分。
从根本上讲,BOM 只处理浏览器窗口和框架,但人们习惯上也把全部针对浏览器的 JavaScript 扩展算做 BOM 的一部分。具体扩展以下:
(1):弹出新浏览器窗口的功能;
(2):移动、缩放和关闭浏览器窗口的功能;
(3):提供浏览器详细信息的 navigator 对象;
(4):提供浏览器所加载页面的详细信息的 lacation 对象;
(5):提供用户显示器分辨率详细信息的 screen 对象;
(6):对 cookies 的支持;
(7):像 XMLHttpRequest 和 IE 的 ActiveXObject 这样的自定义对象。
1.3 JavaScript 版本
注:
大多数浏览器在说起对 JavaScript 的支持状况时,通常都以 ECMAScript 兼容性和对 DOM 的支持状况为准。
1.4 小结
JavaScript 是一种专为网页交互而设计的脚本语言,由一下三个不一样部分组成:
A:ECMAScript ,由ECMA - 262定义,提供核心语言功能;
B:文档对象模型(DOM),提供访问和操做网页内容的方法和接口;
C:浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
若是文中有错误,很是感谢您指出,但请不要刻薄诋毁。
文章我会尽可能添加一些实用的例子,方便理解阅读。
本文属于连载性随时更新文章。
我的属于中级程序媛,现于成都某公司任职Web前端开发,但愿经过本身的学习而后巩固提高个人技术,大神勿喷,谢谢 /haha