Javascript - 这些构造函数之间有什么区别?

时间:2015-01-22 21:42:38

标签: javascript constructor

这个构造函数有什么区别:

    var Person = function(living, age, gender) {
        this.living = living;
        this.age = age;
        this.gender = gender;
        this.getGender = function() {return this.gender};
    }

和这一个:

    var Person = function Person(living, age, gender) {
        this.living = living;
        this.age = age;
        this.gender = gender;
        this.getGender = function() {return this.gender;};
    };

2 个答案:

答案 0 :(得分:3)

什么都没有,除了构造函数是"命名为"。对于#1,Person.name将评估为空字符串,对于#2,Person.name将评估为"Person"

答案 1 :(得分:-1)

name属性将在function Person(...)

中设置

你可以通过尝试类似

的方式来看到这一点
var bar = function eigor(){}

然后看看bar.name是什么。