Tengo un problema al tratar de hacer que una función sea global cuando está involucrada en el cierre. En el código enumerado a continuación, tengo un método anónimo que define una nueva función en el window
llamado, getNameField
.Cómo definir una nueva función global en javascript
(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);
Esto funciona muy bien en el navegador, pero cuando ejecuto el código en JSLint.com con "No permitir variables no definidas" se convirtió en él me da un error.
problema en la línea 17 caracteres de 7: '
getNameField
' no está definido.
¿Me puede ayudar a solucionar esto para que JSLint realmente comprenda que esta función debe considerarse global?
"Esto funciona muy bien en el navegador" Entonces, ¿cuál es el problema? –
Solo quería asegurarme de escribir el código según las especificaciones de JavaScript y no utilizar algún tipo de "hack". – Eric