create 方法
Object.create() 方法会使用指定的原型对象及其属性去创建一个新的对象。
Object.create(proto, [ propertiesObject ])
参数
proto
一个对象,应该是新创建的对象的原型。
propertiesObject
可选。该参数对象是一组属性与值,该对象的属性名称将是新创建的对象的属性名称,值是属性描述符(这些属性描述符的结构与Object.defineProperties()的第二个参数一样)。注意:该参数对象不能是 undefined,另外只有该对象中自身拥有的可枚举的属性才有效,也就是说该对象的原型链上属性是无效的。
返回值
返回一个新对象。在指定原型对象上添加新属性后的新对象
抛出异常
如果 propertiesObject 参数不是 null 也不是对象,则抛出一个 TypeError 异常。
例子
使用 Object.create 实现类式继承
1 | // Shape - superclass |
继承到多个对象,则可以使用混入的方式。
1 | function MyClass() { |
使用 Object.create 的 propertyObject 参数
1 | var o; |