Object.create是否创建对象文字的实例



为了正确使用术语,在本例中:

var Cat = {
    food: 'meat',
    eat: function(){
        console.log(this.food);
    }
};

bob = Object.create(Cat);
bob.food = 'milk';
jim = Object.create(Cat);
jim.food = 'water';
bob.eat();
jim.eat();

你能说Object.create正在创建一个Cat对象文字的实例吗?

Object.create"使用指定的原型对象和属性创建一个新对象"。相关文章:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/create

我认为"实例"这个词是错误的,因为您没有以经典的继承方式实现对象。要创建一个新实例,您需要在定义中使用new关键字。MDN的文章很好地解释了这一点。

最新更新