我有这个代码,它返回一个未捕获的ReferenceError:未定义年份。
funcyear
为什么这不能起作用,{{1}}函数不应该位于原型中,那么年份是否可以访问?
答案 0 :(得分:3)
因为只有year
会引用变量(或函数),而不是属性
要引用属性,您必须为对象命名,此属性将附加到。
Car.prototype.funcyear = function() {
console.log(this.year);
};
注意:强>
function Car(color, drivetrain) {
this.color = color;
this.drivetrain = drivetrain;
this.stats = function(){
//this part is "dangerous", because color and drivetrain reference the local variables
//in this surrouunding function-call, NOT the properties of this instance
//so you might change the properties, but you don't see any effect.
console.log(color + " " + drivetrain);
};
}