使用Object.create()方法可以使用指定的对象和可选的属性创建一个新的对象,其语法格式如下:
Object.create(proto[,props]);
这是一个静态方法,参数proto指定一个对象,该对象作为新建对象的原型对象,参数props指定新增的属性,是可选的。
Object.cretae()方法的功能相当于将新建对象的原型对象作为参数proto,同时使用Object.defineProperties(props)方法为该对象定义属性。
例如下面的代码,指定一个新的Person类的实例作为参数proto的值,这样,新建的实例tom便拥有了Person类的原型对象,因此拥有Person类的属性和方法。
function Person(myName,myAge){this.nickName=myName;this.age=myAge; } Person.prototype.showInfo=function(){return("嗨!我的名字是"+this.nickName+",我现在"+this.age+"岁了!"); } var tom=Object.create(Person.prototype,{nickName:{writable:false,value:"Tom"},age:{value:22}});document.write(tom.showInfo());//返回嗨!我的名字是Tom,我现在22岁