2010-04-22 11 views
0

我有許多文件與內容是這樣的:檢測跨JavaScript對象引用複製文件

function hello() { 
    ... 
    element1.text = foo.locale.lorem; 
    element2.text = foo.locale.ipsum; 
    ... 
    elementn.text = foo.locale.whatever; 
    ... 
} 

function world() { 
    ... 
    var label = bar.options.baz.blah; 
    var toggle = bar.options.baz.use_toggle; 
    ... 
} 

這可以更有效地寫入,並且也更加可讀,通過創建快捷方式的區域設置對象:

function hello() { 
    var loc = foo.locale; 
    ... 
    element1.text = loc.lorem; 
    element2.text = loc.ipsum; 
    ... 
    elementn.text = loc.whatever; 
    ... 
} 

function world() { 
    var options = bar.options.baz; 
    ... 
    var label = options.blah; 
    var toggle = options.use_toggle; 
    ... 
} 

有一個簡單的方法來檢測這種重複的出現對任意對象(它並不總是那麼簡單,「語言環境」,或foo.something)? 基本上,我想知道在一個函數內兩次或多次出現冗長的對象引用。

謝謝!

回答

0

你在說什麼像LINT?例如外部可以報告這些對象引用或內部像循環播放窗口對象的東西

+0

一些外部工具,會告訴我「看這裏,也許你可以優化這個」。 – AnC 2010-04-22 14:12:14

0

Javascript縮小器會爲您做這件事。不知道你是否在找什麼。繼承人一個好js縮小器http://jscompress.com/

+0

謝謝 - 但如果你通過JSMin運行上面的代碼,它實際上並沒有被重寫。我想YUICompressor或谷歌的Closure編譯器會這樣做 - 但我寧願有一個工具,通知我這樣的機會的常規來源,沒有縮小。 – AnC 2011-03-13 06:12:28