У меня проблема с попыткой сделать функцию глобальной, когда она участвует в закрытии. В приведенном ниже коде у меня есть анонимный метод, который определяет новую функцию для window
, getNameField
.
.
(function () {
function alertError (msg) {
alert(msg);
}
window.getNameField = function (fieldId) {
try{
if(!fieldId) {
fieldId='name';
}
return document.getElementById(fieldId);
} catch(e) {
alertError(e);
}
};
}());
alert(getNameField().value);
Это прекрасно работает в браузере, но когда я запускаю код в JSLint.com с включенным «Запретить неопределенные переменные», это выдает мне ошибку.
Проблема в строке 17, символ 7:
«getNameField
» не определено.
Можете ли вы помочь мне исправить это, чтобы JSLint действительно понимал, что эту функцию следует считать глобальной?