第1部分 语言基础
第1章 十年JavaScript
1.1 网页中的代码
1.1.1 新鲜的玩意儿
1.1.2 第一段在网页中的代码
1.1.3 最初的价值
1.2 用JavaScript来写浏览器上的应用
1.2.1 我要做一个聊天室
1.2.2 Flash的一席之地
1.2.3 RWC与RIA之争
1.3 没有框架与库的语言能怎样发展呢
1.3.1 做一个框架
1.3.2 重写框架的语言层
1.3.3 富浏览器端开发与AJAX
1.4 语言的进化
1.4.1 Qomo的重生
1.4.2 QoBean是对语言的重新组织
1.4.3 JavaScript作为一门语言的进化
1.5 为JavaScript正名
1.5.1 JavaScript
1.5.2 Core JavaScript
1.5.3 SpiderMonkey JavaScript
1.5.4 ECMAScript
1.5.5 JScript
1.5.6 总述
1.6 JavaScript的应用环境
1.6.1 宿主环境
1.6.2 外壳程序
1.6.3 运行期环境
第2章 JavaScript的语法
2.1 语法综述
2.1.1 标识符所绑定的语义
2.1.2 识别语法错误与运行错误
2.2 JavaScript的语法:变量声明
2.2.1 变量的数据类型
2.2.1.1 基本数据类型
2.2.1.2 值类型与引用类型
2.2.2 变量声明
2.2.3 变量与直接量
2.2.3.1 字符串直接量、转义符
2.2.3.2 数值直接量
2.2.4 函数声明
2.3 JavaScript的语法:表达式运算
2.3.1 一般表达式运算
2.3.2 逻辑运算
2.3.3 字符串运算
2.3.4 比较运算
2.3.4.1 等值检测
2.3.4.2 序列检测
2.3.5 赋值运算
2.3.6 函数调用
2.3.7 特殊作用的运算符
2.3.8 运算优先级
2.4 JavaScript的语法:语句
2.4.1 表达式语句
2.4.1.1 一般表达式语句
2.4.1.2 赋值语句与隐式的变量声明
2.4.1.3 (显式的)变量声明语句
2.4.1.4 函数调用语句
2.4.2 分支语句
2.4.2.1 条件分支语句(if语句)
2.4.2.2 多重分支语句(switch语句)
2.4.3 循环语句
2.4.4 流程控制:一般子句
2.4.4.1 标签声明
2.4.4.2 break子句
2.4.4.3 continue子句
2.4.4.4 return子句
2.4.5 流程控制:异常
2.5 面向对象编程的语法概要
2.5.1 对象直接量声明与实例创建
2.5.1.1 使用构造器创建对象实例
2.5.1.2 对象直接量声明
2.5.1.3 数组直接量声明
2.5.1.4 正则表达式直接量声明
2.5.1.5 【ES5】在对象直接量中使用属性读写器
2.5.1.6 讨论:初始器与直接量的区别
2.5.2 对象成员
2.5.2.1 对象成员列举、存取和删除
2.5.2.2 属性存取与方法调用
2.5.2.3 对象及其成员的检查
2.5.2.4 可列举性
2.5.3 默认对象的指定
2.6 【ES5】严格模式下的语法限制
2.6.1 语法限制
2.6.2 严格模式的范围
2.7 运算符的二义性
2.7.1 加号“+”的二义性
2.7.2 括号“( )”的二义性
2.7.3 冒号“:”与标签的二义性
2.7.4 大括号“{ }”的二义性
2.7.5 逗号“,”的二义性
2.7.6 方括号“[ ]”的二义性
第2部分 语言特性及基本应用
第3部分 编程实践
附录A 术语表
附录B 主要引擎的特性差异列表
附录C 附图
附录D 参考书目
附录E 本书各版次主要修改
展开