重写JavaScript中的Object.create方法



如果我用JavaScript创建一个对象,比如:

var foo = {
create: function(){}
}

这会覆盖Object.create函数吗?

不,不会。

您创建的对象将有一个create方法,即foo.create,但Object对象仍然有自己的create函数。

请注意,Object.create函数不在Object.prototype.create中,即它不是一个存在于任何创建的对象中的方法,它只作为Object函数对象的属性存在。

否,因为createfoo的一个属性。

对于向后兼容的Object.create:

if(!Object.create){
  Object.create = function(o){
    function F(){}; F.prototype = o;
    return new F;
  }
}

最新更新