如果使用构造函数创建对象的属性,如何访问它的属性

时间:2014-08-15 05:54:23

标签: javascript oop

这是我关于stackoverflow的第一个问题,我是javascript的初学者。我正在使用这篇文章http://javascriptissexy.com/oop-in-javascript-what-you-need-to-know>阅读javascript中面向对象编程的内容。在javascript"中名为" OOP的部分中,它描述了两种创建和对象的方式:

var myObj = {name:"Richard", profession:"Developer"};

我知道您可以通过

访问此对象的属性
myObj.name // "Richard"

文章描述的创建对象的第二种方式是

    function People (name, profession) {} 
    var richard = new People (“Richard”, “Developer”)

如何访问此对象的name属性?

此外,我还没有读过本主题的其余部分。我被困住,直到这个概念被清除。

2 个答案:

答案 0 :(得分:1)

在构造函数中,您需要执行以下操作:

function People (name, profession) {
    this.name = name;
    this.profession = profession;
}

然后您可以像使用第一种方法一样访问属性。

richard.name // 'Richard'

请记住,构造函数只是一个普通的函数。用new调用它只意味着它获得一个空对象作为其接收者,即函数内的this值。

答案 1 :(得分:1)

第二种方式称为构造函数模式。 你必须修改你的代码,如下所示

function People (name, profession) {
 this.name = name;
 this.profession = profession;
} 
上面代码中的

this”是指您使用“new”运算符创建的各个实例。

现在我们创建对象。

var richard = new People (“Richard”, “Developer”);

然后访问

等属性
richard.name;
richard.profession;

很好地解释了 here,其中包含有关创建对象的其他方法的重要信息。