自我执行功能作为对象文字的属性

时间:2013-10-10 09:40:37

标签: javascript object-literal uglifyjs self-executing-function

我正在使用UglifyJs缩小代码并且我遇到了问题。如果我将自执行函数作为对象文字的属性,那么在缩小时它会缩减为函数。

var o = {
    c : 1,
    t : (function(){
        return 'this worked';
    }())
};

uglifyjs t.js > u.js

var o={c:1,t:function(){return"this worked"}()};

据推测,不建议采用这种做事方式。这是什么/为什么?如果有一个解决方法,我很想知道,因为客户端代码宁愿使用属性。

感谢。

1 个答案:

答案 0 :(得分:1)

它返回了相同的自执行功能而没有周围的括号...所以我没有看到问题...

注意,JSON不支持在其内容中声明的函数。你可以使用它,因为它仍然是javascript代码,但你无法序列化......等等。