你要是用过C++或Java这样的传统面向对象语言,JavaScript可能看上去一点都不面向对象。JavaScript没有类的概念,而你甚至不需要定义任何对象就可以开始编写代码。但是别被这些假象蒙蔽了,实际上JavaScript是一种具有惊人威力且极具表达能力的面向对象的语言,它赋予你很大的设计决策权。
尼古拉斯编著的这本《JavaScript面向对象精要》深入探讨了JavaScript的对象机制,揭示了这一语言对于继承以及其他关键特性的独特实现。
尼古拉斯编著的这本《JavaScript面向对象精要》关注面向对象的原理和ES5对象新特性,其目的是帮助那些已经熟知面向对象编程的读者掌握这些概念是如何在JavaScript中工作的。
本书内容简洁而精妙。全书共6章,分别深入探讨了原始类型和引用类型、函数、对象、构造函数和原型对象、继承和对象模式等主题和特性。在本书中,你将学到JavaScript独特的面向对象的编程方式;抛弃类的概念和基于类的继承,学到基于原型的继承和构造函数。你将学会如何创建对象,定义自己的类型,使用继承以及其它各种操作来充分使用对象。总而言之,你将学到理解和专业编程JavaScript所需知的一切。
本书适合熟悉面向对象编程的概念并希望将其应用于JavaScript的开发者阅读,也适合JavaScript新手作为学习参考。
第1章 原始类型和引用类型
1.1 什么是类型
1.2 原始类型
1.2.1 鉴别原始类型
1.2.2 原始方法
1.3 引用类型
1.3.1 创建对象
1.3.2 对象引用解除
1.3.3 添加删除属性
1.4 内建类型实例化
1.4.1 字面形式
1.4.2 对象和数组字面形式
1.4.3 函数字面形式
1.4.4 正则表达式字面形式
1.5 访问属性
1.6 鉴别引用类型
1.7 鉴别数组
1.8 原始封装类型
1.9 总结
第2章 函数
2.1 声明还是表达式
2.2 函数就是值
2.3 参数
2.4 重载
2.5 对象方法
2.5.1 this对象
2.5.2 改变this
2.6 总结
第3章 理解对象
3.1 定义属性
3.2 属性探测
3.3 删除属性
3.4 属性枚举
3.5 属性类型
3.6 属性特征
3.6.1 通用特征
3.6.2 数据属性特征
3.6.3 访问器属性特征
3.6.4 定义多重属性
3.6.5 获取属性特征
3.7 禁止修改对象
3.7.1 禁止扩展
3.7.2 对象封印
3.7.3 对象冻结
3.8 总结
第4章 构造函数和原型对象
4.1 构造函数
4.2 原型对象
4.2.1 [[Prototype]]属性
4.2.2 在构造函数中使用原型对象
4.2.3 改变原型对象
4.2.4 内建对象的原型对象
4.3 总结
第5章 继承
5.1 原型对象链和Object.prototype
5.1.1 继承自Object.prototype的方法
5.1.2 修改Object.prototype
5.2 对象继承
5.3 构造函数继承
5.4 构造函数窃取
5.5 访问父类方法
5.6 总结
第6章 对象模式
6.1 私有成员和特权成员
6.1.1 模块模式
6.1.2 构造函数的私有成员
6.2 混入
6.3 作用域安全的构造函数
6.4 总结
索引