【问题标题】:var property vs this.property in object constructor in javascript? [duplicate]javascript中对象构造函数中的var属性与this.property? [复制]
【发布时间】:2015-04-09 02:55:02
【问题描述】:

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

示例:

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

【问题讨论】:

  • 是的,有区别。一个是局部变量,另一个是对象属性。

标签: javascript object constructor


【解决方案1】:

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

var p = new person();

您将能够从外部访问firstName 变量,该变量成为新对象的属性:

console.log(p.firstName); // whatever you assigned it to

但不是age变量,其作用域仅限于函数体内:

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

【讨论】:

    【解决方案2】:

    this.property 返回调用对象的属性。在这种情况下,调用person() 函数的那个​​。

    var property只定义一个作用域为函数person()的变量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 2015-03-24
      • 1970-01-01
      • 2018-06-11
      • 2015-07-11
      • 2012-12-22
      • 1970-01-01
      相关资源
      最近更新 更多