【发布时间】:2015-04-09 02:55:02
【问题描述】:
对象构造函数中的“this.property”和“var property”有什么区别吗?
示例:
var person = function(){
var age;
this.firstName;
}
【问题讨论】:
-
是的,有区别。一个是局部变量,另一个是对象属性。
标签: javascript object constructor
对象构造函数中的“this.property”和“var property”有什么区别吗?
示例:
var person = function(){
var age;
this.firstName;
}
【问题讨论】:
标签: javascript object constructor
是的。例如,如果您像这样实例化一个新的person:
var p = new person();
您将能够从外部访问firstName 变量,该变量成为新对象的属性:
console.log(p.firstName); // whatever you assigned it to
但不是age变量,其作用域仅限于函数体内:
console.log(p.age); // undefined
【讨论】:
this.property 返回调用对象的属性。在这种情况下,调用person() 函数的那个。
var property只定义一个作用域为函数person()的变量
【讨论】: