第六章 面向对象的程序设计

1.ECMAScript有两种属性:数据属性和访问器属性

2.修改属性默认的特性:

defineProperty(属性所在的对象,属性的名字,描述符对象)

其中描述符对象必须是:configurable,enumerable,writeable,value。设置其中一个或多个值,可以修改对呀属性值。

writable:false , 只读的

configurable: false, 不能从对象中删除属性,不可配置

3.创建对象

a.工厂模式:

b.构造函数模式

c.原型模式

图三

getPrototypeOf():返回对象的原型

isPrototypeOf(): 确定对象之间是否有关系

hasOwnPropety():检测一个属性是否存在实例中,返回trye。还是存在原型中,返回false

   确定对象到底存在对象中,还是存在原型中  
Object.keys()
Object.hasOwnPropertyNames()

d.组合使用构造函数模式和原型模式

e.动态原型模式

f.寄生构造函数模式

g.稳妥构造函数模式

4.确定原型和实例的关系

a.第一种方法使用instanceod操作符,只要用这个操作符来测试实例域原型链中出现过的构造函数,结果就会返回true。例如:

b.第二种方式,使用isPrototypeOf()方法,同样,只要原型链中出现过的原型,都可以说死该原型链所派生的实例的原型。例如:

你可能感兴趣的:(第六章 面向对象的程序设计)