Как искать глобальные переменные в JavaScript - PullRequest
4 голосов
/ 31 октября 2011

Существует ли какой-либо инструмент или регулярное выражение, которые могут помочь получить список всех глобальных переменных в проекте JavaScript?

Ответы [ 4 ]

8 голосов
/ 31 октября 2011

Вы можете пройти через объект окна для запроса всех глобально определенных данных (переменных и функций, включая предопределенные):

for (var key in window) {
    console.log(key + "=" + window[key]);
}

Для анализа исходного кода используйте JSLint .

2 голосов
/ 31 октября 2011

Мне очень нравится расширение Firebug в Firefox.

Вот вкладка DOM, перечисляющая все свойства объекта Global (т.е. окна) и окрашивающая их по типу, по сути, это ваши глобальные переменные.

Firebug DOM tab

1 голос
/ 31 октября 2011

Вы можете использовать расширение браузера, которое помогает с такими вещами, как:

- расширение Firebug в Firefox

- Окно инструментов разработчика в Chrome

- Стрекоза в Опере

0 голосов
/ 04 декабря 2013

Я использовал это регулярное выражение, чтобы показать мне все переменные javascript в коде моего проекта.

[a-zA-Z0-9]* = .*;

Затем я визуально отсканировал совпадения, чтобы убедиться, что все мои переменные не являются глобальными.(т.е. рядом с ними были 'vars', если они не были параметрами, переданными в функцию).

Для меня я использовал потрясающий многофайловый поиск Sublime Text 2, разрешив регулярное выражение и отключив контекст.вокруг матча.Я также велел поиску выполнять поиск только в папке, содержащей мои собственные файлы javascript, чтобы он не отображал переменные из других сред или языков.Это делало так, что каждая переменная появлялась одна за другой, и было намного легче видеть любые утечки глобальных переменных.

Надеюсь, что это помогает и не слишком запутывает.Я новичок в области регулярных выражений, но это сработало для меня.Я уже нашел 3 глобальных утечки в моем собственном проекте примерно за 5 минут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...