2013-07-30 40 views
1

我被告知使用多年的有意義的變量名稱。然而,每次我嘗試調試一些JavaScript代碼並深入到第三方框架時,我發現每個JavaScript框架都會有變量名稱,如a,ac,b,c爲什麼大多數JavaScript框架使用如此短的變量名?

爲什麼這麼簡短的變量名稱通用?這似乎會損害可維護性。

+1

通過此工具運行您的JavaScript,看看會發生什麼:http://jscompress.com/ – Marty

+2

爲什麼這會降低很多?儘管縮小是JavaScript開發人員的常識,但對其他人來說卻不是這樣。 – Mics

回答

5

它被稱爲縮小。它以所有語言完成,但主要是JavaScript,以從源代碼中刪除所有不必要的字符。它主要是JavaScript,因爲大型JavaScript文件可以變得更小,從而加快瀏覽器的加載速度。

大多數JavaScript庫都有一個可供開發人員使用的版本,可以進行調試,然後在生產中使用縮小版來減少傳輸開銷。

編寫代碼時,應該總是使用敏感變量,但只有開發人員才能閱讀它,瀏覽器並不在意。

1

你很可能看着縮小的JavaScript。這是通過minification tool傳遞原始(希望更具可讀性)源代碼的結果。

1

你所看到的可能是實際JavaScript的縮小版本。它的完成使得文件的大小因性能原因而減少。

一個很好的例子是jQuery庫,你可以看看development versionminified version

1

什麼你可能看到的是最小代碼。最小化器重寫Javascript以獲取最小空間量,因此它將盡快下載 - 刪除不必要的空白,用短名稱替換變量和函數,並使用其他一些技巧。

1

它可能是您正在調試的JavaScript被縮小。沒有辦法將縮小的JavaScript轉換爲原作,並使用作者寫的有意義的名稱。即使關鍵字不可讀,您也可以使用本能和分析技能來理解其他代碼。

0

正如其他人所說,這是縮小版本。我對這個主題的貢獻只是爲了展示一個例子。

藉此例如:

(function() { 
    "use strict"; 
    var foo = function() { 
     return; 
    }; 
    var bar = foo; 
    var baz = bar; 
})(); 

並通過jscompress.com運行它。結果將是

(function(){"use strict";var e=function(){return};var t=e;var n=t})() 
相關問題