
Se podría solucionar haciendo diferentes versiones del script, pero es mucho más fácil simplemente comprobar si la función existe antes de intentar ejecutarla. Basta con comprobar el typeof:
if(typeof nombreFumcion === 'function') {
//Es seguro ejecutar la función
nombreFuncion();
}
jQuery ofrece un método alternativo:if( jQuery.isFunction( nombreFuncion ) ) {
//Es seguro ejectura la función
nombreFuncion();
}
Sin embargo, como nombreFuncion se pasa como variable, si no está definida seguirá generando error. Con jQuery es más seguro hacer algo así:if( typeof nombreFuncion !== 'undefined' && jQuery.isFunction( nombreFuncion ) ) {
//Es seguro ejectura la función
nombreFuncion();
}
Comentarios