0

看,我有以下代码要执行,结果是预期的:

a = { a: function(){ return 'red'} }

所以每当我打电话

aa #=> 我想收到 'red' 而不是 'function(){ return 'red'}

任何帮助表示赞赏

4

2 回答 2

2

只需这样做

a = { 
   a: 'red' 
};

但是如果结果返回函数那么重要,我们必须确保函数被调用并返回。

a = {
    a: function() {
        return 'red-by-function';
    }() //This will ensure the function is called rather that returning the whole function
};

两种情况的演示

于 2012-10-28T04:24:34.253 回答
1

您需要将其作为闭包来完成:

a = { a: function(){ return 'red';}()};

请注意();末尾的 ,这使它成为一个完整的闭包。

于 2012-10-28T04:23:47.587 回答