2012-02-20 2 views
1

В моем шаблоне страницы есть много файлов * .js. Некоторое глобальное объявление переменной javascript (redeclaration) в одном из этих файлов приводит к конфликту с другим кодом javascript. Поскольку на сайте много файлов, трудно найти место в коде, где объявлена ​​эта переменная (имя переменной - «имя» и очень много файлов, показанных в результатах поиска). Есть ли отладчики кода javascript, которые могут показать, где в коде (имя файла js) указано конкретная переменная?Невозможно найти объявление переменной в большом наборе включенных js-файлов

ответ

0

Если вы не просто ищите имя переменной, но расширяете поиск, чтобы искать name =, вы должны хотя бы сузить свой поиск, чтобы получить декларацию/повторную декларацию этой переменной, а не соответствие каждому месту, в котором находится переменная. используемый.

Двухсторонняя отмечает

  1. Чтобы избежать такого рода путаницы в будущем, ваш JavaScript действительно должны избегать использования глобальных переменных, как это. Попробуйте перечислить ваши переменные, чтобы избежать таких конфликтов. Прочитайте this SO question о том, как это сделать.

  2. Вы должны попытаться свести к минимуму все ваши JavaScript-файлы в один файл, чтобы избежать ненужных HTTP-запросов. Во время процесса минимизации вы также, скорее всего, получите предупреждения об этом виде переменных конфликтов.

0

Запустите свой код через JsLint http://www.jslint.com/lint.html. Проверьте все флажки, кроме «stop on first error», «safe subset» и «adsafe», поскольку вы хотите узнать только, что такое глобальные переменные.

Вы можете сделать переменную частной заключая код внутри крышки, как этот

(function(){ 
    var yourPrivateVariable = 0; 
    window.yourGlobalVariable = 0;   
}());