对于对象的
创建,除了用文字和新的运营商,object.create()也可以用在ECMAscript 5标准,object.create()
函数接受2个
参数为对象:第一个对象是必需的,代表所创建的对象的原型,和第二对象是可选的,它用于定义创建对象的各种
属性(例如,可写,可枚举)。
复制代码代码如下所示:
var o = object.create(x 1,y::{ 7 });
console.log(O); / /对象{ x = 1,y = 7 }
console.log(o.__proto__); / /对象{ x = 1,y = 7 }
调用null作为第一个参数,object.create(),将没有原型生成对象。对象将不具有任何基本对象属性。例如,因为没有toString()
方法,它将使用+
运算符对象例外。
复制代码代码如下所示:
VaR O2 = object.create(空);
console.log(是+ O2); / /
类型错误,无法将氧气的原始类型
浏览器只
支持ECMAscript 3标准,该object.create()
操作可以在道格拉斯克罗克福德法进行:
复制代码代码如下所示:
如果(typeof object.create!= 'function){
object.create =
功能(o){
函数(f){ }
f.prototype = O;
返回新的f();
};
}
新对象= object.create(oldobject);