如果您使用的是微小的工具,你不需要爲使用短名稱爲您的變量,則minifier將採取照顧。
至於函數參數,從一個微小角度,最好使用單獨的參數,而不是對象的屬性,因爲minifier不能重命名對象的屬性,但將重命名的參數。
我不覺得有資格建議您如何從Gzip
的角度寫更多的可壓縮的代碼,但我可以給你寫上更minifiable Javascript代碼一些建議。
我的第一個建議是,你在你的代碼運行你喜歡minifier,然後比較它的漂亮的印版,與原來的代碼。通過這種方式,您將瞭解縮小器對代碼所做的更改。
通常情況下,重命名minifiers變量的函數名,以較短的,但不能重命名對象的屬性。
所以避免這種情況:
foo.bar.baz.A = 1;
foo.bar.baz.B = 2;
foo.bar.baz.C = 3;
,而是,這樣做:
var shortcut = foo.bar.baz;
shortcut.d = 1;
shortcut.e = 2;
shortcut.f = 3;
一個minifier將重命名shortcut
到一個或兩個字母變量。
另一種很好的做法是使用method chaining儘可能地(特別是如果你正在使用JQuery)
例如,避免這種情況:
$div.css('background', 'blue'); // set BG
$div.height(100); // set height
$div.fadeIn(200); // show element
而做到這一點,而不是:
$('#my-div')
.css('background', 'blue')
.height(100)
.fadeIn(200);
我認爲minify應該做你想做的事情,因爲如果你看jquery的未分類代碼,你會發現它比它的縮小版本要大得多。 –
對於大多數當前算法,您應該儘量減少代碼中_instructions_的數量,變量名的長度無關緊要。正如A. Lau所說,用於jQuery的縮小器可能是最好的選擇。大多數這些算法都是開源的,所以你可以看看它們究竟做了什麼,並從那裏得出結論。 – Pyromonk