如何将对象文字的 属性 分配给其方法之一的 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
};