Tester l’existence d’une fonction Javascript

13 Mai 2013 2

javascriptCi-dessous une petite astuce Javascript pour vérifier qu’une fonction est définie ou non. Le comportement rappelle la fonction « function_exists() » en PHP. Le test se base sur la fonction Javascript typeof() qui renvoie functionsi le handler passé est déclaré comme fonction.

[javascript] function test(){
return (typeof(mafonction) == "function") ? alert(‘mafonction existe’) : alert(‘mafonction n\’existe pas’);
}
test();
/*<
function mafonction() {}
*/
[/javascript]

Il suffit de décommenter ‘mafonction’ pour constater que l’existence de la fonction est correctement prise en compte.

Pour vérifier si un handler est utilisé comme une fonction ou comme une variable, vous pouvez utiliser le même principe en testant la valeur de retour « undefined » de la fonction typeof().

[javascript] function test() {
return (typeof(mafonction) == "undefined") ? alert(‘mafonction existe’) : alert(‘mafonction n\’existe pas’);
}
test();
/*
function mafonction() {}
*/
/*
var mafonction =  »;
*/
[/javascript]