javascript - 作为对象文字属性的自执行函数

标签 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"}()};

不推荐这种做法大概是有原因的。这是什么/为什么?另外,如果有解决办法,我很想知道,因为客户端代码更愿意使用属性。

谢谢。

最佳答案

它返回了相同的自执行函数,没有括号...所以我没有看到问题...

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

关于javascript - 作为对象文字属性的自执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19292273/

相关文章:

javascript - Kendo 条件格式导致负零

javascript - 如何在JS上将带引号的字符串连接到另一个带多个引号的字符串

javascript - 如何在不同事件中将多个数据字符串添加到相同类型的数组到本地存储

javascript - 如何在 JavaScript 中使用两个数组创建对象文字数组

javascript - 丑化和缩小 Angular 4 代码

javascript - 具有心跳效果的jquery调整图像大小

Javascript + 基本对象字面范围问题

JavaScript 对象文字长度 === 未定义?

javascript - 为什么 __filename/__dirname 在使用 webpack 缩小后表现得很奇怪?

build-process - CoffeeScript/UglifyJS 中的条件编译