我不确定为什么这段代码不起作用。我正在尝试使用Object.create();
代替new
var Car = function() {
console.log('Car Consctructor');
};
Car.prototype.color = 'red';
var bmw = Object.create(Car);
console.log(bmw.color); //Doesn't log red - ??
答案 0 :(得分:4)
Car
是一个函数,Object.create()
需要一个原型。
var bmw = Object.create(Car.prototype);
答案 1 :(得分:0)
您必须将prototype
传递给Object.create
var bmw = Object.create(Car.prototype);
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create