当前位置:首页 > JavaScript面向对象精要-学习笔记
第5章 继承
5.1、原型对象链和Object.prototy
1、js内建的继承方法被称为原型对象链,也叫原型对象继承。所以的对象都继承自Object,对象的继承就是对Object的原型函数的继承。 2、继承自Object.prototype的五方法:hasOwnProperty()、propertyIsEnumerable()、isPrototypeOf ()、valueOf()、toString()。
3、valueOf()对象默认返回的值。如果返回的是引用值,则会直接调用toString()。 4、不用修改Object.prototype。
5.2、对象继承
1、通过Object.create,第一个参数需要被设置的新对象,第二参数一个属性的描述。
5.3、构造函数继承
1、指定create为构造函数即可。
5.4、构造函数窃取
1、通过call()或apply()修改构造函数的this,将信息的对象传进去,实现窃取。
5.5、访问父类方法
1、通过call()或apply()调用父类的原型对象的方法。
5.6、总结
第6章 对象模式
6.1、私有成员和特权成员
1、js私有对象,前面加_。内部变量不加this’即可。
2、模块模式:用于创建拥有私有数据的单件对象的模式。函数表达式(IIFE),即var x=(function(){}());
3、暴露模块模式,将所有变量或方法都定义在IIFE顶部,通过return暴露出来。
4、内部变量不加this’即可,然后方法直接放在构造函数的原型对象里,我喜欢这么用。
6.2、混入
1、混入:一个对象在不改变原型对象链的情况下得到另一个对象的属性。
6.3、作用域安全的构造函数
1、像Array、RegExp不需要new也可以。因为他们有作用域安全的构造函数。 2、内部检查this instanceof构造函数,不是内部自己new。
6.4、总结
共分享92篇相关文档