出版时间:2012-4 出版社:机械工业出版社华章公司 作者:David Flanagan 页数:1019 译者:淘宝前端团队
Tag标签:无
前言
前言:本书要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScriptAPI。本书更适合有一定编程经验的人阅读。对于那些希望学习JavaScript和已经开始使用JavaScript的程序员来说,如果想让自己对JavaScript语言和Web平台的理解和掌握再上一个台阶,本书最适合不过了。本书旨在系统权威地讲解JavaScript这门语言以及运行它的各种平台环境。本书对各个知识点的讲解都非常详细,以至于本书成了大块头。我希望每个读者都能认真阅读本书,这会让你的JavaScript编程基本功更加夯实,你所花费的时间和精力终究会有成倍的回报。本书分为4部分,第一部分主要讲述JavaScript这门语言。第二部分主要讲述客户端JavaScript:HTML5和相关标准定义的JavaScriptAPI以及Web浏览器实现的API。第三部分是JavaScript语言核心部分的参考手册。第四部分是客户端JavaScript的参考手册。第1章包含前两部分的章节提纲和简介(参照1.1节)。本书第6版同时涵盖ECMAScript5(JavaScript语言核心的最新版本)和HTML5(Web平台的最新版本)。第一部分包含ECMAScript5相关的资料。而与HTML5相关的新资料主要在第二部分末尾的章节讲述,当然其他章节也有提到。第6版新增的章节有:第11章、第12章、第19章以及第22章。如果你阅读过前几版,则会发现第6版中很多章节都完全重写了。第一部分中的核心章节都涵盖全新的内容(对象、数组、函数以及类),这些内容都是当下最前沿的编程技术和最佳实践。同样,第二部分的核心章节,比如第15章和第17章,也与时俱进全都重写了。
内容概要
本书要讲述的内容涵盖JavaScript语言本身,以及Web浏览器所实现的JavaScript
API。本书第6版涵盖了HTML5和ECMAScript
5,很多章节完全重写,增加了当今Web开发的最佳实践的内容,新增的章节包括jQuery、服务器端JavaScript、图形编程以及
JavaScript式的面向对象。本书不仅适合初学者系统学习,也适合有经验的 JavaScript 开发者随手翻阅。
作者简介
David
Flanagan是一名程序员,也是一名作家,它的个人网站是。他在O’Reilly出版的其他畅销书还包括《JavaScript
Pocket Reference》、《The Ruby Programming Language》、以及《Java in a
Nutshell》。David毕业于麻省理工学院,获得计算机科学与工程学位。他和妻子和孩子一起生活在西雅图和温哥华之间的美国太平洋西北海岸。
书籍目录
前言
第1章 JavaScript概述
1.1 JavaScript语言核心
1.2 客户端JavaScript
第一部分 JavaScript 语言核心
第2章 词法结构
2.1 字符集
2.2 注释
2.3 直接量
2.4 标识符和保留字
2.5 可选的分号
第3章 类型、值和变量
3.1 数字
3.2 文本
3.3 布尔值
3.4 null和undefined
3.5 全局对象
3.6 包装对象
3.7 不可变的原始值和可变的对象引用
3.8 类型转换
3.9 变量声明
3.10 变量作用域
第4章 表达式和运算符
4.1 原始表达式
4.2 对象和数组的初始化表达式
4.3 函数定义表达式
4.4 属性访问表达式
4.5 调用表达式
4.6 对象创建表达式
4.7 运算符概述
4.8 算术表达式
4.9 关系表达式
4.10 逻辑表达式
4.11 赋值表达式
4.12 表达式计算
4.13 其他运算符
第5章 语句
5.1 表达式语句
5.2 复合语句和空语句
5.3 声明语句
5.4 条件语句
5.5 循环
5.6 跳转
5.7 其他语句类型
5.8 JavaScript语句小结
第6章 对象
6.1 创建对象
6.2 属性的查询和设置
6.3 删除属性
6.4 检测属性
6.5 枚举属性
6.6 属性getter和setter
6.7 属性的特性
6.8 对象的三个属性
6.9 序列化对象
6.10 对象方法
第7章 数组
7.1 创建数组
7.2 数组元素的读和写
7.3 稀疏数组
7.4 数组长度
7.5 数组元素的添加和删除
7.6 数组遍历
7.7 多维数组
7.8 数组方法
7.9 ECMAScript 5中的数组方法
7.10 数组类型
7.11 类数组对象
7.12 作为数组的字符串
第8章 函数
8.1 函数定义
8.2 函数调用
8.3 函数的实参和形参
8.4 作为值的函数
8.5 作为命名空间的函数
8.6 闭包
8.7 函数属性、方法和构造函数
8.8 函数式编程
第9章 类和模块
9.1 类和原型
9.2 类和构造函数
9.3 JavaScript中Java式的类继承
9.4 类的扩充
9.5 类和类型
9.6 JavaScript中的面向对象技术
9.7 子类
9.8 ECMAScript 5 中的类
9.9 模块
第10章 正则表达式的模式匹配
10.1 正则表达式的定义
10.2 用于模式匹配的String方法
10.3 RegExp对象
第11章 JavaScript的子集和扩展
11.1 JavaScript的子集
11.2 常量和局部变量
11.3 解构赋值
11.4 迭代
11.5 函数简写
11.6 多catch 从句
11.7 E4X: ECMAScript for XML
第12章 服务器端JavaScript
12.1 用Rhino脚本化Java
12.2 用Node实现异步I/O
第二部分 客户端JavaScript
第13章 Web浏览器中的JavaScript
13.1 客户端JavaScript
13.2 在HTML里嵌入JavaScript
13.3 JavaScript程序的执行
13.4 兼容性和互用性
13.5 可访问性
13.6 安全性
13.7 客户端框架
第14章 Window对象
14.1 计时器
14.2 浏览器定位和导航
14.3 浏览历史
14.4 浏览器和屏幕信息
14.5 对话框
14.6 错误处理
14.7 作为Window对象属性的文档元素
14.8 多窗口和窗体
第15章 脚本化文档
15.1 DOM概览
15.2 选取文档元素
15.3 文档结构和遍历
15.4 属性
15.5 元素的内容
15.6 创建、插入和删除节点
15.7 例子:生成目录表
15.8 文档和元素的几何形状和滚动
15.9 HTML表单
15.10 其他文档特性
第16章 脚本化CSS
16.1 CSS概览
16.2 重要的CSS属性
16.3 脚本化内联样式
16.4 查询计算出的样式
16.5 脚本化CSS类
16.6 脚本化样式表
第17章 事件处理
17.1 事件类型
17.2 注册事件处理程序
17.3 事件处理程序的调用
17.4 文档加载事件
17.5 鼠标事件
17.6 鼠标滚轮事件
17.7 拖放事件
17.8 文本事件
17.9 键盘事件
第18章 脚本化HTTP
18.1 使用XMLHttpRequest
18.2 借助
章节摘录
版权页: 插图: 第1章 JavaScript概述 JavaScript是面向Web的编程语言。绝大多数现代网站都使用了JavaScript,并且所有的现代Web浏览器——基于桌面系统、游戏机、平板电脑和智能手机的浏览器——均包含了JavaScript解释器。这使得JavaScript能够称得上史上使用最广泛的编程语言。JavaScript也是前端开发工程师必须掌握的三种技能之一:描述网页内容的HTML、描述网页样式的CSS以及描述网页行为的JavaScript。本书能帮助你掌握JavaScript这门语言。 如果你有其他语言的编程经历,这会有助于你了解JavaScript是一门高端的、动态的、弱类型的编程语言,非常适合面向对象和函数式的编程风格。JavaScript的语法源自Java,它的一等函数(first—classfunction)来自于Scheme,它的基于原型(prototype—based)的继承来自于Self。但使用本书学习JavaScript不必去了解那些(Java/Scheme/Self)语言或熟悉那些术语。 “JavaScript”这个名字经常被误解。除了语法看起来和Java类似之外,JavaScript和Java是完全不同的两种编程语言。JavaScript早已超出了其“脚本语言”(scripting—language)本身的范畴,而成为一种集健壮性、高效性和通用性为一身的编程语言。最新的语言版本为严谨的大型软件开发定义了诸多新的特性。 JavaScript:名字和版本 JavaScript是由Web发展初期的网景(Netscape)公司创建,“JavaScript”是SunMicrosystem公司(现在的Oracle)的注册商标,用来特指网景(现在的Mozilla)对这门语言的实现。网景将这门语言作为标准提交给了ECMA——欧洲计算机制造协会——由于商标上的冲突,这门语言的标准版本改了一个丑陋的名字“ECMAScript”。同样由于商标的冲突,微软对这门语言的实现版本取了一个广为人知的名字“Jscript”。实际上,几乎所有人都将这门语言叫做“JavaScript”。本书也仅仅使用“ECMAScript”来指代语言标准。 在最近10年间,所有的Web浏览器都实现了第3版ECMAScript标准,我们也已经不必再去考虑版本号了:语言标准已经很稳定了,并且被几乎所有浏览器完整地实现了。最近,ECMAScript第5版定义了新的语言标准,在撰写本书时,浏览器已经开始实现它了。除了ECMAScript3长期保留下来的特性,本书还涵盖了所有ECMAScript5的新特性。正如我们经常将JavaScript简写成JS一样,ECMAScript3和ECMAScript5有时也会简写成ES3和ES5。 当我们提到这门语言本身时,通常所指的语言版本是ECMAScript3和ECMAScript5(ECMAScript4已经开发了数年,但由于太过庞大,从未发布过正式版本)。有时会看到JavaScript的版本号(比如JavaScript1.5或JavaScript1.8)。这些是Mozilla的版本号:版本1.5基本上就是ECMAScript3,后续版本包含了非标准的语言扩展(参照第11章)。最后,JavaScript解释器或者“引擎”(engine)也有版本号,比如,Google将它的JavaScript解释器叫做V8,在撰写本书时V8引擎最新版本是3.0。 为了有用起见,通常每一种编程语言都有各自的开发平台、标准库或API函数,用来提供诸如基本输入输出的功能。JavaScript语言核心针对文本、数组、日期和正则表达式的操作定义了很少的API,但是这些API不包括输入输出功能。输入和输出功能(类似网络、存储和图形相关的复杂特性)是由JavaScript所属的“宿主环境”(hostenviroment)提供的。这里所说的宿主环境通常是Web浏览器(第12章会介绍两个不基于Web浏览器的JavaScript宿主环境),本书第一部分涵盖了语言本身的特性以及少量的内置API。第二部分讲解了JavaScript如何在Web浏览器中工作,并涵盖基于浏览器的API——这部分也称做“客户端JavaScript”。 本书第三部分是核心API的参考手册。比如,在这部分,可以查找“Array”以获得JavaScript数组操作API的详细信息。第四部分是客户端JavaScript参考手册,比如,你可以在这部分查找“canvas”来获得HTML5元素定义的图形编程API。 本书首先讲解初级的基础部分,然后讲解更高级和更抽象的内容。本书的章节也是如此安排以便你能循序阅读。但学习一门新的编程语言绝非易事,当然要完整描述这门语言就没办法苛求知识点的循次渐进,每一种语言特性都和其他特性相互关联,本书的知识点也是前后参照的,有时参照的知识点在后续章节,有时在已经阅读的章节。本章快速介绍了语言核心部分和客户端API及其关键特性,以便你能更方便更深入地阅读理解后续章节。
媒体关注与评论
“本书是JavaScript程序员的必备参考.内容组织得很好,而且非常详细。 ”—— Brendan Eich,JavaScript之父,Mozilla CTO“我从本书学到的内容直接影响到我的职业生涯。”——Andrew Hedges,Tapulous公司游戏工程师“本书教会了我JavaScript。”——Tom Robinson,280 North的创始人,Cappuccion的合作创始人“通过阅读本书,我能全面地掌握JavaScript这门语言,本书让我受益匪浅。”——J. Chris Anderson,CouchBase的创始人,Apache CouchDB委员会成员,《CouchDB:The Definitive Guide》一书的作者“如果让我来推荐一本学习JavaScript的最佳书籍,我一定会推荐本书。”——Rey Bango,微软客户端Web社区项目主管和jQuery团队成员
编辑推荐
《O'Reilly精品图书系列:JavaScript权威指南(第6版)》编辑推荐:经典权威的JavaScript工具书,是程序员学习核心JavaScript语言和由Web浏览器定义的JavaScript API的指南和综合参考手册。第6版涵盖HTML5和ECMAScript5。
名人推荐
从1996年以来,本书已经成为JavaScript程序员心中的《圣经》。该书已经印刷了50多万册,Web开发人员对它如是评价:“本书是JavaScript程序员的必备参考……内容组织得很好,而且非常详细。” ——Brendan Eich,JavaScript之父,Mozilla CTO “我从本书学到的内容直接影响到我的职业生涯。” ——Andrew Hedges,Tapulous公司游戏工程师 “本书教会了我JavaScript。” ——Tom Robinson,280 North的创始人,Cappuccion的合作创始人 “通过阅读本书,我能全面地掌握JavaScript这门语言,本书让我受益匪浅。” ——J.Chris Anderson,CouchBase的创始人,Apache CouchDB委员会成员,《CouchDB:The Definitive Guide》一书的作者 “如果让我来推荐一本学习JavaScript的最佳书籍,我一定会推荐本书。” ——Rey Bango,微软客户端Web社区项目主管和jQuery团队成员
图书封面
图书标签Tags
无
评论、评分、阅读与下载