《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
《LED照明驱动电源模块化设计技术》内容简介:随着LED照明技术的迅速发展和LED灯具的规模化应用,对LED驱动电源的要求也越来越高。
《手到琴来1》内容简介:本系列将会成为自《吉他之友》后又一套在全国热卖的吉他季刊。整个系列一年会发布4本曲集,每本曲集将选取
《5分钟生物课》内容简介:你相信鱼在水中也憋气吗?你知道植物用什么“语言”进行交流吗?果子狸是SARS的“元凶”吗?植物真能防辐
《智慧教育(第二版)》内容简介:《智慧教育(第二版)》汲取了近年来智慧教育发展的新理念、新技术、新方案,致力于构建一个相对完
《原来心可以跳舞》内容简介:女人的一生总是充满着各种磨难,因而这样的人生显得很长很长;而女人们的幸福,就会显得越发短暂。中
《计算声学:声场的方程和计算方法》描述了在推导声波动方程的过程中对声学物理量所作的严密的数量级估计和微小量近似,给出了积分
中文版InDesign CS5技术大全-(附光盘) 本书特色 超厚手册,超大容量,技术全面,39章教学内容,软件功能全覆盖,基础详解、功能全面、理论实践全接触,...
《中共江苏地方简史》内容简介:《中共江苏地方简史》(1921—2021)是江苏省委党史工办为迎接建党100周年而编写的一本党史书籍。该
与以前的网站建设相比,现在的网站建设变得更加细分化。设计师的作用不再仅仅是制作视觉效果突出的图像。而是应该以项目为中心考
本书系统地介绍了图像通信的基本理论和方法以及图像通信的前沿技术,内容包括三大部分:首先在图像压缩编码部分介绍了熵编码、预
「平面設計是帶給人夢想的幸福工作。從事平面設計,除了需要一點幽默和感性之外,擁有平面設計的基本知識更是必備條件。」本書收
如今的网站和内联网已经变得比以前越来越大,越来越有价值,而且越来越复杂,同时其用户也变得更忙,也更加不能容忍错误的发生。
在3G蜂窝系统的空中接口方面备受高度认可的《WCDMA技术与系统设计》一书,经过了再次全面的修订和更新,第3版涵盖了3GPPRelease6
ThebestsellingguidetointeriordesignupdatedandexpandedforanewgenerationForoverthr...
馬克.古德曼MarcGoodman全球資訊安全專家,現為「國際刑警組織」((Interpol)資深顧問,並且擔任街頭警察。矽谷奇點大學(Singula
Amongthetestsyouperformonwebapplications,securitytestingisperhapsthemostimportan...
Effective C++中文版 本书特色 本书的50条准则,每一条都扼要说明了一个可让你写出更好的C++ 程序代码的方法,并以特别设计过的例子详加讨论。在些新...
《当代中国农村》内容简介:全面展示中国农村发展成就中国农业现代化建设;创新农业经营体制,转变农业发展方式农业供给侧结构性改
《MATLAB神经网络应用设计》利用目前国际上流行的MATLAB环境,结合神经网络工具箱,在深入浅出地介绍人工神经网络中的各种典型网
《Objective-C编程》讲述Objective-C编程语言和基本的iOS/Mac开发知识。作者首先从基本的编程概念讲起(变量、条件语句、循环结构