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

How to access properties of an object if it was created using a constructor function

本文关键字:创建 构造函数 对象 属性 何访问 访问      更新时间:2023-09-26

这是我关于stackoverflow的第一个问题,我是javascript的完全初学者。我正在阅读关于javascript中面向对象编程的文章,网址是http://javascriptissexy.com/oop-in-javascript-what-you-need-to-know>。在"javascript中的OOP"一节中,它描述了创建和对象的两种方法:

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

我知道你可以通过

访问这个对象的属性
myObj.name // "Richard"
本文描述的创建对象的第二种方法是
    function People (name, profession) {} 
    var richard = new People (“Richard”, “Developer”)

如何访问这个对象的name属性??

另外,我还没有读过这篇文章的其余部分。

在构造函数中,您需要做这样的事情:

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

然后你可以像第一个方法那样访问属性。

richard.name // 'Richard'

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

第二种方式称为构造函数模式。为此,您必须像下面这样修改代码

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

上面代码中的"this"是指您将使用"new"操作符创建的单个实例。

现在我们创建对象。

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

,然后访问属性,如

richard.name;
richard.profession;

在这里很好地解释了以及其他创建对象的方法。