在node.js javascript中为什么我不能添加到子函数?

时间:2010-10-10 18:39:27

标签: javascript node.js

game_state = function(){
    this.players = function() {
        this.x = 0;
    };
}

game_state.players['test'] = 1;

为什么会失败但

game_state['test'] = 1;

没有?

我在node.js中尝试这个,以防它不清楚。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

game_state是一个(构造函数)函数。函数的实例具有player属性,但函数本身没有。我想你可能想要:

game_state = new (function()
             { 
               this.players = new (function()
                              {
                                this.x = 0;
                              })();
             })();
game_state.players['test'] = 1;

编辑:这同样适用于内部功能。此外,在这两种情况下,您都可以使用对象文字。