如何将对象文字的 属性 分配给其方法之一的 return 值?
How can an object literal's property be assigned to the return value of one of its methods?
所以我正在制作一个游戏来练习使用 mvc 范例。我为我的模型创建了一个对象字面量,并希望为它的属性生成值所需的函数位于对象本身中。我试过这个但没有成功。我在调用函数时尝试使用 "this" 而不是使用它。无论哪种方式,我从 chrome 得到一个函数未定义的错误。我该怎么做才能解决这个问题?这是相关代码:
var model = {
genPlayers: function() {
return tempPlayerArray;
},
playerArray: genPlayers()
}
你不能那样做。 1. 没有名为 genPlayers()
的函数,只有 model.genPlayers()
和 2. 在对象初始化期间无法访问对象属性。
您可以做的是:
var model = {
genPlayers: function() {
return tempPlayerArray;
},
playerArray: null
};
model.playerArray = model.genPlayers();
或者如果 model.genPlayers
总是只有 returns tempPlayerArray
你可以这样做:
var model = {
genPlayers: function() {
return tempPlayerArray;
},
playerArray: tempPlayerArray
};
所以我正在制作一个游戏来练习使用 mvc 范例。我为我的模型创建了一个对象字面量,并希望为它的属性生成值所需的函数位于对象本身中。我试过这个但没有成功。我在调用函数时尝试使用 "this" 而不是使用它。无论哪种方式,我从 chrome 得到一个函数未定义的错误。我该怎么做才能解决这个问题?这是相关代码:
var model = {
genPlayers: function() {
return tempPlayerArray;
},
playerArray: genPlayers()
}
你不能那样做。 1. 没有名为 genPlayers()
的函数,只有 model.genPlayers()
和 2. 在对象初始化期间无法访问对象属性。
您可以做的是:
var model = {
genPlayers: function() {
return tempPlayerArray;
},
playerArray: null
};
model.playerArray = model.genPlayers();
或者如果 model.genPlayers
总是只有 returns tempPlayerArray
你可以这样做:
var model = {
genPlayers: function() {
return tempPlayerArray;
},
playerArray: tempPlayerArray
};