2010-04-22 5 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

0

Javascript minifiers сделают это за вас. Не уверен, что это то, что вы ищете. Heres good js minifier http://jscompress.com/

+0

Спасибо, но если вы запустите приведенный выше код через JSMin, он не будет перезаписан. Я думаю, YUICompressor или Google Closure Compiler сделает это, но я бы предпочел иметь инструмент, который уведомляет меня о таких возможностях для обычного источника без каких-либо ограничений. – AnC