JavaScript 面向对象编程指南 第2版 PDF 文档
JavaScript 语言是一种具有高度表达能力的、基于原型特性的、非常灵活的面向对象程序设计语言。本书着重于介绍 JavaScript 在面向对象方面的特性,以为您展示如何去构建强健的、可维护的、功能强大的应用程序及程序库。
本书是《JavaScript 面向对象编程指南》的第 2 版,全书包括 8 章和 4 个附录。依次介绍了 JavaScript 的发展历史、基础性话题(变量、数据类型、数组、循环以及条件表达式)、函数、对象、原型、继承的实现、BOM 和 DOM 等。附录部分包括了学习 JavaScript 编程常用的参考资源。尤其值得一提的是,本书作者是 JavaScript 设计模式方面的专家,他在本书第 8 章中介绍了几种常用的 JavaScript 编程模式,这也成为他的另一本重要著作《JavaScript 模式》(JavaScript Patterns)奠定了基础。
本书全面地覆盖了 JavaScript 语言的 OO 特性,同时兼顾基础知识,对初学者来说,是难得的 JavaScript 佳作。读者不需要具备任何的 JavaScript 基础知识及项目经验,通过学习这本书,将会在面试有关 JavaScript 程序设计的职位时游刃有余。
第 1 章 面向对象的 JavaScript
1.1 回顾历史
1.2 浏览器的战争与复兴
1.3 分析现状
1.4 展望未来
1.5 ECMAScript 5
1.6 面向对象的程序设计
1.6.1 对象
1.6.2 类
1.6.3 封装
1.6.4 聚合
1.6.5 继承
1.6.6 多态
1.7OOP 小结
1.8 训练环境设置
1.8.1 WebKit 所附带的 Web 审查工具
1.8.2 Mac 上的 JavaScriptCore
1.8.3 更多控制台
1.9 本章小结
第 2 章 基本数据类型、数组、循环及条件表达式
2.1 变量
区分大小写
2.2 操作符
2.3 基本数据类型
2.3.1 查看类型操作符—typeof
2.3.2 数字
2.3.2.1 八进制与十六进制
2.3.2.2 指数表示法
2.3.2.3 Infinity
2.3.2.4 NaN
2.3.3 字符串
2.3.3.1 字符串转换
2.3.3.2 特殊字符串
2.3.4 布尔值
2.3.4.1 逻辑运算符
2.3.4.2 操作符优先级
2.3.4.3 惰性求值
2.3.4.4 比较运算符
2.3.5 undefined 与 null
2.4 基本数据类型综述
2.5 数组
2.5.1 增加、更新数组元素
2.5.2 删除元素
2.5.3 数组的数组
2.6 条件与循环
2.6.1 if 条件表达式
2.6.2 else 语句
2.6.3 代码块
2.6.4 检查变量是否存在
2.6.4.1 替代 if 表达式
2.6.4.2 switch 语句
2.6.5 循环
2.6.5.1 while 循环
2.6.5.2 do-while 循环
2.6.5.3 for 循环
2.6.5.4 for-in 循环
2.7 注释
2.8 本章小结
2.9 练习题
第 3 章 函数
3.1 什么是函数
3.1.1 调用函数
3.1.2 参数
3.2 预定义函数
3.2.1 parseInt()
3.2.2 parseFloat()
3.2.3 isNaN()
3.2.4 isFinite()
3.2.5 URI 的编码与反编码
3.2.6 eval()
3.2.7 一点惊喜—alert()函数
3.3 变量的作用域
变量提升
3.4 函数也是数据
3.4.1 匿名函数
3.4.2 回调函数
3.4.3 回调示例
3.4.4 即时函数
3.4.5 内部(私有)函数
3.4.6 返回函数的函数
3.4.7 能重写自己的函数
3.5 闭包
3.5.1 作用域链
3.5.2 利用闭包突破作用域链
3.5.2.1 闭包#1
3.5.2.2 闭包#2
3.5.2.3 相关定义与闭包#3
3.5.2.4 循环中的闭包
3.5.3 getter 与 setter
3.5.4 迭代器
3.6 本章小结
3.7 练习题
第 4 章 对象
4.1 从数组到对象
4.1.1 元素、属性、方法与成员
4.1.2 哈希表、关联型数组
4.1.3 访问对象属性
4.1.4 调用对象方法
4.1.5 修改属性与方法
4.1.6 使用 this 值
4.1.7 构造器函数
4.1.8 全局对象
4.1.9 构造器属性
4.1.10 instanceof 操作符
4.1.11 返回对象的函数
4.1.12 传递对象
4.1.13 比较对象
4.1.14 Webkit 控制台中的对象
4.2 内建对象
4.2.1 Object
4.2.2 Array
一些数组方法
4.2.3 Function
4.2.3.1 函数对象的属性
prototype 属性
4.2.3.2 函数对象的方法
4.2.3.3 call()与 apply()
4.2.3.4 重新认识 arguments 对象
4.2.3.5 推断对象类型
4.2.4 Boolean
4.2.5 Number
4.2.6 String
String 对象的一些方法
4.2.7 Math
4.2.8 Date
Date 对象的方法
例子:计算生日
4.2.9 RegExp
4.2.9.1 RegExp 对象的属性
4.2.9.2 RegExp 对象的方法
4.2.9.3 以正则表达式为参数的字符串方法
4.2.9.4 search()与 match()
4.2.9.5 replace()
4.2.9.6 回调式替换
4.2.9.7 split()
4.2.9.8 用字符串来代替过于简单的 regexp 对象
4.2.10 Error 对象
4.3 本章小结
4.4 练习题
第 5 章 原型
5.1 原型属性
5.1.1 利用原型添加方法与属性
5.1.2 使用原型的方法与属性
5.1.3 自身属性与原型属性
5.1.4 利用自身属性重写原型属性
枚举属性
5.1.5 isPrototypeOf()方法
5.1.6 神秘的__proto__链接
5.2 扩展内建对象
5.2.1 关于扩展内建对象的讨论
5.2.2 原型陷阱
5.3 本章小结
5.4 练习题
第 6 章 继承
6.1 原型链
6.1.1 原型链示例
6.1.2 将共享属性迁移到原型中去
6.2 只继承于原型
临时构造器—new F()
6.3 uber—子对象访问父对象的方式
6.4 将继承部分封装成函数
6.5 属性拷贝
6.6 请小心处理引用拷贝
6.7 对象之间的继承
6.8 深拷贝
6.9 object()
6.10 原型继承与属性拷贝的混合应用
6.11 多重继承
混合插入
6.12 寄生式继承
6.13 构造器借用
借用构造器与原型复制
6.14 本章小结
6.15 案例学习:图形绘制
6.15.1 分析
6.15.2 实现
6.15.3 测试
6.16 练习题
第 7 章 浏览器环境
7.1 在 HTML 页面中引入 JavaScript 代码
7.2 概述:BOM 与 DOM
7.3 BOM
7.3.1 window 对象再探
7.3.2 window.navigator
7.3.3 控制台的备忘功能
7.3.4 window.location
7.3.5 window.history
7.3.6 window.frames
7.3.7 window.screen
7.3.8 window.open()/close()
7.3.9 window.moveTo()、window.resizeTo()
7.3.10 window.alert()、window.prompt()、window.confirm()
7.3.11 window.setTimeout()、window.setInterval()
7.3.12 window.document
7.4 DOM
7.4.1 Core DOM 与 HTML DOM
7.4.2 DOM 节点的访问
7.4.2.1 文档节点
7.4.2.2 documentElement
7.4.2.3 子节点
7.4.2.4 属性
7.4.2.5 访问标签中的内容
7.4.2.6 DOM 访问的快捷方法
7.4.2.7 兄弟节点、body 元素及首尾子节点
7.4.2.8 遍历 DOM
7.4.3 DOM 节点的修改
7.4.3.1 修改样式
7.4.3.2 玩转表单
7.4.4 新建节点
7.4.4.1 纯 DOM 方法
7.4.4.2 cloneNode()
7.4.4.3 insertBefore()
7.4.5 移除节点
7.4.6 只适用于 HTML 的 DOM 对象
7.4.6.1 访问文档的基本方法
7.4.6.2 document.write()
7.4.6.3 Cookies、Title、Referrer、Domain
7.5 事件
7.5.1 内联 HTML 属性法
7.5.2 元素属性法
7.5.3 DOM 的事件监听器
7.5.4 捕捉法与冒泡法
7.5.5 阻断传播
7.5.6 防止默认行为
7.5.7 跨浏览器的事件监听器
7.5.8 事件类型
7.6 XMLHttpRequest 对象
7.6.1 发送请求
7.6.2 处理响应
7.6.3 在早于 7 的 IE 版本中创建 XMLHttpRequest 对象
7.6.4 A 代表异步
7.6.5 X 代表 XML
7.6.6 实例示范
7.7 本章小结
7.8 练习题
第 8 章 编程模式与设计模式
8.1 编程模式
8.1.1 行为隔离
8.1.1.1 内容
8.1.1.2 外观
8.1.1.3 行为
8.1.1.4 行为隔离实例
8.1.1.5 异步的 JavaScript 代码载入
8.1.2 命名空间
8.1.2.1 将对象用做命名空间
8.1.2.2 命名空间中的构造器应用
8.1.2.3 namespace()方法
8.1.3 初始化分支
8.1.4 惰性初始
8.1.5 配置对象
8.1.6 私有属性和方法
8.1.7 特权函数
8.1.8 私有函数的公有化
8.1.9 即时函数
8.1.10 模块
8.1.11 链式调用
8.1.12 JSON
8.2 设计模式
8.2.1 单件模式 1
8.2.2 单件模式 2
8.2.2.1 全局变量
8.2.2.2 构造器属性
8.2.2.3 使用私有属性
8.2.3 工厂模式
8.2.4 装饰器模式
装饰一棵圣诞树
8.2.5 观察者模式
8.3 本章小结
附录 A. 保留字
附录 B 内建函数
附录 C 内建对象
附录 D 正则表达式
下载地址:https://www.wenjiangs.com/wp-content/uploads/2023/08/nPZvwb5A0EWHhsax.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论