《JavaScript面向对象编程指南》内容包括:JavaScript作为一门浏览器语言的核心思想;面向对象编程的基础知识及其在JavaScript中的运用;数据类型、操作符以及流程控制语句;函数、闭包、对象和原型等概念,以代码重用为目的的继承模式;BOM、DOM、浏览器事件、AJAX和JSON;如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。
《JavaScript面向对象编程指南》着重介绍JavaScript在面向对象方面的特性,展示如何构建强健的、可维护的、功能强大的应用程序及程序库。
第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 查看类型操作符——typeof 19
2.3.2 数字 19
2.3.3 字符串 23
2.3.4 布尔值 26
2.3.5 Undefined与null 32
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与Setter 78
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 Object 97
4.2.2 Array 98
4.2.3 Function 102
4.2.4 Boolean 107
4.2.5 Number 109
4.2.6 String 110
4.2.7 Math 115
4.2.8 Date 117
4.2.9 RegExp 121
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与DOM 191
7.3 BOM 192
7.3.1 window对象再探 192
7.3.2 window.navigator 193
7.3.3 Firebug的备忘功能 193
7.3.4 window.location 194
7.3.5 window.history 195
7.3.6 window.frames 196
7.3.7 window.screen 197
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.document 202
7.4 DOM 202
7.4.1 Core DOM与HTML DOM 204
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代表XML 240
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 JSON 261
8.2 设计模式 262
8.2.1 单件模式1 263
8.2.2 单件模式2 263
8.2.3 工厂模式 264
8.2.4 装饰器模式 266
8.2.5 观察者模式 269
8.3 本章小结 272
附录A 保留字 273
附录B 内建函数 276
附录C 内建对象 279
附录D 正则表达式 305
大型强子对撞机(LHC)坐落于欧洲核子研究中心(CERN),在瑞士和法国交界处的乡村地下25.659千米长的环形隧道中。它的宏伟目标是
《医学临床“三基”训练技能图解·医师分册(全新彩版)》内容简介:★全新内容:本书文字内容全部进行了重新编写,大幅度提高了入
《清华法治论衡(第27辑)》内容简介:马克斯·韦伯是19世纪到20世纪最杰出的社会学家与法学家,其研究涉及法学、社会学、政治学、
FloTHERM软件基础与应用实例-(第二版) 本书特色 本书分为软件基础入门与应用实例两大部分,全书共计17章节。1~11章节为软件基础入门,其内容以热仿真工...
《人人能懂的相对论》内容简介:这一次,你将真正理解相对论,跟上爱因斯坦的脚步,吃透现代物理学基础! 两位作者在书中完整解释时
《温莎墓园日记》内容简介:“有人抑制不住惊叹,难道爱情真是,真是可能的吗……”木心散文小说系列之《温莎墓园日记》,经过年近
《书海思问录(精)》内容简介:本书为作者读书期间及工作以来的作品选集,作者自书店门市店员干起,扎根图书发行行业三十年,参与
《再造农业》内容简介:近年来,我国规模农业发展速度惊人。这一过程到底是市场自发作用的结果,还是政府干预的结果?皖南河镇的实
Ourcitiesare"smart"andgettingsmarterasinformationprocessingcapabilityisembeddedt...
用户故事与敏捷方法 本书特色 《用户故事与敏捷方法》:敏捷大师Mike Cohn的软件需求方法圣经,小型团队(项目)不可或缺的敏捷开发宝典,亚马逊五星级长销图书...
《狙击步枪大百科(图鉴版)》内容简介:《狙击步枪大百科·图鉴版/现代兵器百科图鉴系列》精选了世界各国研制的数十种经典狙击步枪
日本机器人学会日本机器人学会成立于1983年1月28日,是追求学术领域上的发展,并提供专家发表研究及交流技术的平台。学会以推广机
《互联网:碎片化生存》内容简介:在世界互联网人数超过17亿,中国网民接近4亿的时候,断言“这个版本的互联网没有未来”是要冒很
《数字信号处理实验指导书》(MATLAB版)是《数字信号处理:基于计算机的方法》(第2版)一书的配套实验手册,内容涵盖了信号与信号
本书以清晰简明的风格解释了有关的标准、概念和实现,极具权威性。读者可以从中了解到建立和部署Web服务的主要工具包。书中用许多
网络空间很复杂,好多人并不完全了解或者只是了解到一些皮毛。比如说好多人对于见网友一事总是抱着浪漫或者暖昧的想法,而事实却
《德国哲学(2016年下半年卷)》内容简介:本书是由湖北大学哲学学院主办、湖北大学德国哲学研究所协办的专门研究德国哲学及相关问
是的,你可以用Ajax开发企业级应用!随着Web逐渐成为主流计算平台,越来越多关键任务应用开始采用Ajax技术构造。但是,挑战也是巨
JAVA程序员修炼之道 本书特色 《java程序员修炼之道》分为四部分,**部分全面介绍java7的新特性,第二部分探讨java关键编程知识和技术,第三部分讨论...
韩国的网页设计风格在世界上的影响越来越大,也被越来越多的人所喜爱和接受。其优秀的设计风格能让人看后有耳目一新的视觉感受。