JavaScript 原型中的新对象
本文向大家介绍JavaScript 原型中的新对象,包括了JavaScript 原型中的新对象的使用技巧和注意事项,需要的朋友参考一下
示例
在JavaScript中,任何对象都可以是另一个对象的原型。当一个对象被创建为另一个对象的原型时,它将继承其父对象的所有属性。
var proto = { foo: "foo", bar: () =>this.foo}; var obj = Object.create(proto); console.log(obj.foo); console.log(obj.bar());
控制台输出:
> "foo" > "foo"
NOTE Object.create可以从ECMAScript 5获得,但是如果您需要对ECMAScript 3的支持,可以使用polyfill。
if (typeofObject.create!== 'function') { Object.create= function (o) { function F() {} F.prototype= o; return new F(); }; }
资料来源:http://javascript.crockford.com/prototypal.html
Object.create()
该方法使用指定的原型对象和属性创建一个新对象。Object.create()
语法: Object.create(proto[, propertiesObject])
参数:
proto(该对象应该是新创建的对象的原型。)
propertiesObject(可选。如果指定且未定义,则其可枚举的自身属性(即,在其自身上定义的那些属性,而不是其原型链中不可枚举的属性)的对象指定要添加到新创建的对象的属性描述符,并带有相应的属性名称。这些属性对应于。的第二个参数。Object.defineProperties()
返回值
具有指定原型对象和属性的新对象。
例外情况
甲类型错误异常,如果原参数不是空值或对象。