当涉及关闭时,我在尝试使函数全局化时遇到问题。在下面列出的代码中,我有一个匿名方法,它在被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 真正理解这个函数应该被认为是全局的吗?