使用参数在javascript中创建对象

时间:2015-09-29 10:02:49

标签: javascript

我正在读书,这里的代码是

function Person(name) {

    this.name = name;
}

Person.prototype.legs = 2;

var newperson = new Person("Joe"), prop;


for (prop in newperson) {
    if (newperson.hasOwnProperty(prop)) {
        console.log(prop + ":" + newperson[prop]);

    }

}

我只是想知道这个

中的** prop *是什么
var newperson = new Person("Joe"), prop;

这不是一个肯定的论据,所以prop在这里意味着什么。它是一个可选值吗?感谢

2 个答案:

答案 0 :(得分:2)

var newperson = new Person("Joe"), prop;

相当于

var newperson = new Person("Joe");
var prop;

答案 1 :(得分:-1)

JavaScript遵循词汇范围变量。

编译阶段,JavaScript引擎只会捕获变量声明。

因此,编译阶段后var newperson = new Person("Joe"), prop;两个变量都存储在范围内,没有区别。两者都是undefined

执行阶段,JavaScript会将newperson初始化为Person对象。 prop尚未初始化undefined