ВНИМАНИЕ - опасное использование глобального объекта
В Google Closure Compiler я получаю предупреждение
ВНИМАНИЕ - опасное использование глобального объекта
Вот пример. Строка ошибки и смещение относятся к началу словаthis
function aToggle() {
if(shown)
toggle.show()
else
toggle.hide()
$(this).text(shown ? 'Click to hide' : 'Click to show')
shown = !shown
}
link.onclick = aToggle
Я просто изменил бы это на анонимный метод, но я повторно используюaToggle
в другом месте файла, поэтому он должен быть назван.
Я мог отметитьaToggle
как/**@constructor*/
- но это не конструктор. Есть ли другая аннотация, которую я могу использовать для устранения этого предупреждения, или я застрял между пометкой его как конструктора или появлением множества бесполезных предупреждений?