2013-06-24 54 views
9

如何縮小處理$scope.obj.subObj = { key: val ...};縮小是如何工作的並且會影響角度嵌套對象嗎?

從我個人理解,最後使用的變量保持不變,

,但如果我有html元素

<div>{{obj.subObj.key}}</div> 

將縮小的結果,縮短了代碼敬畏? 原諒我問業餘,但我想了解如何JavaScript縮小。

+0

一個體面的minifier不會縮短其他地方使用的公共財產。你在使用哪一個? – Bergi

+0

您使用哪種工具進行縮小?有些工具會壓縮界面,有些則不會。例如,YUI Compressor不會更改全局變量的名稱及其內容 - 只有函數參數和局部變量名稱會被縮小。你可以安全地使用它。 –

回答

9

來自:http://en.wikipedia.org/wiki/Minification_(programming)

縮小(也最小化或最小化),在計算機編程語言,特別是JavaScript中,是除去源代碼的所有不必要的字符,而不改變其功能的過程。

因此,如果縮小器能夠檢測到它可以安全地重寫$scope.obj.subObja.b.c它會。根據經驗,任何來自全局範圍的變量(如documentwindowjQuery)都不會被縮小,因爲其他代碼(在該文件範圍之外)可能依賴於它。

從縮小的下一步是使用壓縮機像谷歌閉合編譯器或雅虎的YUI壓縮機。這些程序通常是更強大的縮小器。它們可以通過內聯函數替換函數調用,或者通過更短或更快的方法更改某種方法。這需要很多關於JavaScript和性能優化的知識。

您可以通過刪除某些兼容性要求調到最高壓縮率,但我發現生成的代碼是非常不穩定的,所以我不認爲我們是非常有尚未:)