给对象方法来添加对象
Giving objects methods to add objects
我正在尝试创建一个对象,该对象将具有向其添加其他已创建对象的方法。例如,我有一个邻里对象,我想为它提供向其添加新房屋的方法。这是我目前拥有的:
function Neighborhood(name) {
this.name = name;
this.addHome = new Home();
}
function Home(name, dateCreated) {
this.name = name;
this.dateCreated = dateCreated;
}
var shadyOaks = new Neighborhood("Shady Oaks");
shadyOaks.addHome("Smith Residence", 2010);
我收到对象不是函数的错误,所以我猜测错误来自第 3 行,试图将新的构造函数用作函数。
您实际上在上面做的是创建一个 Home
实例并将其附加到您的 addHome
属性.
相反,你想要这样的东西:
function Neighborhood(name) {
this.name = name;
}
Neighborhood.prototype.addHome = function(name, date) {
this.home = new Home(name, date);
}
我正在尝试创建一个对象,该对象将具有向其添加其他已创建对象的方法。例如,我有一个邻里对象,我想为它提供向其添加新房屋的方法。这是我目前拥有的:
function Neighborhood(name) {
this.name = name;
this.addHome = new Home();
}
function Home(name, dateCreated) {
this.name = name;
this.dateCreated = dateCreated;
}
var shadyOaks = new Neighborhood("Shady Oaks");
shadyOaks.addHome("Smith Residence", 2010);
我收到对象不是函数的错误,所以我猜测错误来自第 3 行,试图将新的构造函数用作函数。
您实际上在上面做的是创建一个 Home
实例并将其附加到您的 addHome
属性.
相反,你想要这样的东西:
function Neighborhood(name) {
this.name = name;
}
Neighborhood.prototype.addHome = function(name, date) {
this.home = new Home(name, date);
}