Maison  >  Article  >  interface Web  >  Comment appeler js function_basic knowledge

Comment appeler js function_basic knowledge

WBOY
WBOYoriginal
2016-05-16 16:49:441184parcourir

Les façons d'appeler les fonctions Js sont les suivantes :

(1) La fonction nommée appelle directement

Copier le code Le code est le suivant :

fonction foo ()
{
}
foo();

(2) La fonction anonyme est appelée par référence

Copier le code Le code est le suivant :

fooRef = function()
{
}
fooRef();

(3) Appel de fonction anonyme sans référence 1

Copier le code Le code est le suivant :

(function()
{
}());

(4) Appel de fonction anonyme sans référence 2

Copier le code Le code est le suivant :

(function()
{
})();

(5) Appel de fonction anonyme sans référence 3

Copier le code Le code est le suivant :

fonction void()
{

}();


Comment appeler js function_basic knowledge

La Figure 1.1 et la Figure 1.2 montrent que les processus de fonctionnement de ces deux expressions sont différents. Dans la Figure 1.1, l'opérateur de coercition est utilisé pour effectuer l'opération d'appel de fonction, tandis que dans la Figure 1.2, l'opérateur de coercition est utilisé pour faire fonctionner le ". fonction directement" Quantity déclare "cette expression et renvoie une référence à la fonction elle-même, puis exploite la référence de fonction via l'opération d'appel de fonction "()". Le dernier appel de fonction anonyme void function(){}(); ci-dessus est utilisé pour appeler la fonction et ignorer la valeur de retour. L'opérateur void est utilisé pour que l'expression de fonction suivante effectue des opérations. Si on n'utilise pas "void" et l'opération de coercition "()", le code peut-il être exécuté :

(1)function(){}() //Utilisez ''()" pour forcer l'appel

(2)function(){}(); //Utilisez ";" pour exécuter des instructions

Le moteur de script pensera que function(){} est une déclaration de fonction, échouant ainsi la détection de la syntaxe et le code sera analysé comme ceci :

fonction(){};();

function(){} est interprété comme une instruction, tandis que "();" est interprété comme une ligne distincte, donc une erreur de syntaxe sera signalée. Pourquoi savez-vous que l'erreur est causée par "();" ? On le change par le code suivant :

fonction(){}(1);

Ceci sera interprété par le moteur comme :

fonction(){};

(1); //Expression à valeur unique

Ainsi réussi la vérification de grammaire...

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn