有沒有一種方式如何別名function
運營商沒有太多的開銷像eval?我想寫入的函數操作符可以被別名嗎?
fn test() { ... }
代替
function test() { ... }
剝離在縮小的代碼中的一些字節。只是好奇。
有沒有一種方式如何別名function
運營商沒有太多的開銷像eval?我想寫入的函數操作符可以被別名嗎?
fn test() { ... }
代替
function test() { ... }
剝離在縮小的代碼中的一些字節。只是好奇。
有沒有辦法讓別名函數操作符沒有太多的開銷?
沒有。
當然,除非你使用的ECMAScript 6據稱將包含什麼叫做"fat arrow" syntax:
var test = (arg1, arg2) => arg1 + arg2;
在那之前,你堅持不斷地宣稱:
var test = function (arg1, arg2) { return arg1 + arg2 };
或
function test(arg1, arg2) {
return arg1 + arg2;
}
如果你使用的是TypeScript,今天可以使用:) – 2013-04-29 19:10:12
@MortenMertner:但是編譯成JavaScript,現在我們又回到了開始的地方。 – 2013-04-29 19:11:17
@RocketHazmat當然可以。這對現在的海報沒有什麼幫助,但是現在可以讓他編寫他的代碼,以便將來佔用更少的空間(一旦可以直接定位ES6)。 – 2013-04-29 19:15:44
正如戴夫指出的那樣,最好編寫正確的腳本並讓gzip做它的工作。但是,如果你不害怕eval()
並被同伴看不起,但你可以建立一個預處理器來定製一種語言 - 其中一個函數可以啓用=>
聲明。
在需要前處理一些外部文件或隱藏標籤:地方
f=(x,y)=>{return x+y;}
在您的預處理器:
var s = loadCodeToPreprocess(whatever);
s = s.replace(/(\([^()]*\))=>/g, "function$1");
eval(s);
但同樣,它通常最好是隻寫的JavaScript按照標準,讓gzip做好工作。
沒有。 '功能'必須拼寫出來。 – 2013-04-29 19:06:18
爲什麼?它已經被gzipped了,對吧?所以它會壓縮到基本上什麼都沒有。浪費優化。 – 2013-04-29 19:06:20
@DaveNewton:難道你不說關於unminified JavaScript的同樣的事情嗎? – 2013-04-29 19:07:06