内容简介
《JavaScript面向对象编程指南》编辑推荐:JavaScript是一种具有高度表达能力的、基于原型特性的、非常灵活的面向对象编程语言。《JavaScript面向对象编程指南》中值得一提的是,《JavaScript面向对象编程指南》作者是JavaScript设计模式方面的专家,他在第8章中介绍了几种常用的JavaScript编程模式,这也为他后续的另一本重要著作《JavaScript Patterns》奠定了基础。
《JavaScript面向对象编程指南》全面地覆盖了JavaScript语言的OO特性,同时兼顾基础知识,对初学者来说,是难得的JavaScript佳作。阅读《JavaScript面向对象编程指南》不需要读者具备任何的JavaScript基础知识及项目经验,通过学习《JavaScript面向对象编程指南》,读者将会在面试有关JavaScript程序设计的职位时游刃有余[1]。
作者简介
《JavaScript面向对象编程指南》作者:(加拿大)Stoyan Stefanov 是雅虎公司的Web开发人员和Zend认证的工程师。他是雅虎性能开发工具“YSlow”项目的领导人,并参与了“PEAR”库等其他开源项目。他也是《JavaScript Patterns》一书的作者。
第1章 引言1
1.1 回顾历史1
1.2 变革之风3
1.3 分析现状3
1.4 展望未来4
1.5 面向对象程序设计5
1.5.1 对象5
1.5.2 类6
1.5.3 封装6
1.5.4 聚合7
1.5.5 继承7
1.5.6 多态8
1.6 OOP概述8
1.7 训练环境设置9
1.8 使用Firebug控制台10
1.9 本章小结11
第2章 基本数据类型、数组、循环及条件表达式13
2.1 变量13
2.2 操作符15
2.3 基本数据类型18
2.3.1 查看类型操作符——typeof19
2.3.2 数字19
2.3.3 字符串23
2.3.4 布尔值26
2.3.5 Undefined与null32
2.4 基本数据类型综述34
2.5 数组35
2.5.1 增加、更新数组元素36
2.5.2 删除元素36
2.5.3 数组的数组37
2.6 条件与循环38
2.6.1 代码块38
2.6.2 循环44
2.7 注释49
2.8 本章小结49
2.9 练习题50
第3章 函数52
3.1 什么是函数53
3.1.1 调用函数53
3.1.2 参数53
3.2 预定义函数55
3.2.1 parseInt()56
3.2.2 parseFloat()57
3.2.3 isNaN()58
3.2.4 isFinite()58
3.2.5 URI的编码与反编码59
3.2.6 eval()59
3.2.7 一点惊喜—alert()函数60
3.3 变量的作用域60
3.4 函数也是数据62
3.4.1 匿名函数63
3.4.2 回调函数64
3.4.3 回调示例65
3.4.4 自调函数66
3.4.5 内部(私有)函数67
3.4.6 返回函数的函数68
3.4.7 能重写自己的函数68
3.5 闭包70
3.5.1 作用域链70
3.5.2 词法作用域71
3.5.3 利用闭包突破作用域链72
3.5.4 Getter与Setter78
3.5.5 迭代器79
3.6 本章小结80
3.7 练习题80
第4章 对象82
4.1 从数组到对象82
4.1.1 元素、属性、方法84
4.1.2 哈希表、关联型数组85
4.1.3 访问对象的属性85
4.1.4 调用对象的方法86
4.1.5 修改属性与方法87
4.1.6 使用this值88
4.1.7 构造器函数88
4.1.8 全局对象90
4.1.9 构造器属性91
4.1.10 instanceof操作符92
4.1.11 返回对象的函数92
4.1.12 传递对象93
4.1.13 对象比较94
4.1.14 Firebug控制台中的对象95
4.2 内建对象96
4.2.1 Object97
4.2.2 Array98
4.2.3 Function102
4.2.4 Boolean107
4.2.5 Number109
4.2.6 String110
4.2.7 Math115
4.2.8 Date117
4.2.9 RegExp121
4.2.10 Error对象127
4.3 本章小结131
4.4 练习题132
第5章 原型135
5.1 原型属性135
5.1.1 利用原型添加方法与属性136
5.1.2 使用原型的方法与属性137
5.1.3 自身属性与原型属性138
5.1.4 利用自身属性重写原型属性139
5.1.5 isPrototypeOf()方法143
5.1.6 神秘的_proto_链接143
5.2 扩展内建对象145
5.2.1 关于扩展内建对象的讨论146
5.2.2 一些原型陷阱147
5.3 本章小结150
5.4 练习题150
第6章 继承152
6.1 原型链152
6.1.1 原型链示例153
6.1.2 将共享属性迁移到原型中去156
6.2 只继承于原型158
6.3 uber—子对象访问父对象的方式161
6.4 将继承部分封装成函数163
6.5 属性拷贝163
6.6 小心处理引用拷贝165
6.7 对象之间的继承167
6.8 深拷贝169
6.9 object()171
6.10 原型继承与属性拷贝的混合应用172
6.11 多重继承173
6.12 寄生式继承175
6.13 构造器借用176
6.14 本章小结179
6.15 案例学习:图形绘制183
6.15.1 分析183
6.15.2 实现184
6.15.3 测试188
6.16 练习题189
第7章 浏览器环境190
7.1 在HTML页面中引入JavaScript代码190
7.2 概述:BOM与DOM191
7.3 BOM192
7.3.1 window对象再探192
7.3.2 window.navigator193
7.3.3 Firebug的备忘功能193
7.3.4 window.location194
7.3.5 window.history195
7.3.6 window.frames196
7.3.7 window.screen197
7.3.8 window.open()/close()198
7.3.9 window.moveTo()、window.resizeTo()199
7.3.10 window.alert()、window.prompt()、window.confirm()199
7.3.11 window.setTimeout()、window.setInterval()201
7.3.12 window.document202
7.4 DOM202
7.4.1 CoreDOM与HTMLDOM204
7.4.2 DOM节点的访问206
7.4.3 DOM节点的修改215
7.4.4 新建节点218
7.4.5 移除节点221
7.4.6 只适用于HTML的DOM对象223
7.5 事件227
7.5.1 内联HTML属性法227
7.5.2 元素属性法227
7.5.3 DOM的事件监听器228
7.5.4 捕捉法与冒泡法229
7.5.5 阻断传播231
7.5.6 防止默认行为233
7.5.7 跨浏览器事件监听器233
7.5.8 事件类型235
7.6 XMLHttpRequest对象236
7.6.1 发送请求236
7.6.2 处理响应237
7.6.3 在早于7的IE版本中创建XMLHttpRequest对象238
7.6.4 A代表异步239
7.6.5 X代表XML240
7.6.6 实例示范240
7.7 本章小结242
7.8 练习题244
第8章 编程模式与设计模式247
8.1 编程模式248
8.1.1 行为隔离248
8.1.2 命名空间250
8.1.3 初始化分支253
8.1.4 延迟定义254
8.1.5 配置对象255
8.1.6 私有属性和方法257
8.1.7 特权函数258
8.1.8 私有函数的公有化258
8.1.9 自执行函数259
8.1.10 链式调用260
8.1.11 JSON261
8.2 设计模式262
8.2.1 单件模式1263
8.2.2 单件模式2263
8.2.3 工厂模式264
8.2.4 装饰器模式266
8.2.5 观察者模式269
8.3 本章小结272
附录A 保留字273
附录B 内建函数276
附录C 内建对象279
附录D 正则表达式305
[1] JavaScript面向对象编程指南 · 京东网[引用日期2014-06-03]