1
我使用UglifyJs縮小文件一些代碼,我有一個問題的性質。如果我有一個自我執行的函數作爲對象文字的屬性,那麼在縮小的時候它會被簡化爲一個函數。自我執行功能對象常量
即
var o = {
c : 1,
t : (function(){
return 'this worked';
}())
};
uglifyjs t.js > u.js
var o={c:1,t:function(){return"this worked"}()};
大概有爲什麼不建議做的事情這樣一個原因。這是什麼/爲什麼?而且如果有我想知道的解決方法,因爲客戶端代碼寧願使用一個屬性。
謝謝。
請注意,該函數被執行 - 你在它的定義後有'()'。 – Kobi
我沒有看到任何問題,放在控制檯中:'(o = {c:1,t:function(){return「這工作」}()})。t'。 –
它仍然立即執行 - 原始代碼中函數定義的括號是多餘的,uglify刪除它們以更多地縮小它。 – Barmar