javascript中对象构造函数中的var属性与this.property?

javascript中对象构造函数中的var属性与this.property?,javascript,object,constructor,Javascript,Object,Constructor,对象构造函数中的“this.property”和“var property”之间有什么区别吗 例如: var person = function(){ var age; this.firstName; } 对。例如,如果您像这样实例化一个新的人: var p = new person(); 您将能够从外部访问firstName变量,该变量将成为新对象的属性: console.log(p.firstName); // whatever you assigned

对象构造函数中的“this.property”和“var property”之间有什么区别吗

例如:

var person = function(){
    var age;
    this.firstName;        
}

对。例如,如果您像这样实例化一个新的

var p = new person();
您将能够从外部访问
firstName
变量,该变量将成为新对象的属性:

console.log(p.firstName); // whatever you assigned it to
但不是
age
变量,其范围仅限于函数体内部:

console.log(p.age); // undefined

this.property
返回调用对象的属性。在本例中,调用
person()
函数的函数


var属性
只需定义一个变量,其作用域是函数
person()

是的,存在差异。一个是局部变量,另一个是对象属性。