如何将对象的属性赋值给它的一个方法的返回值?

How can an object literal's property be assigned to the return value of one of its methods?

本文关键字:一个 返回值 方法 对象 属性 赋值      更新时间:2023-09-26

所以我正在制作一个游戏来练习使用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总是只返回tempPlayerArray,您可以这样做:

var model = {
    genPlayers: function() {
        return tempPlayerArray;
    },
    playerArray: tempPlayerArray
};