Maison >interface Web >js tutoriel >Compétences d'analyse d'instance de fonction anonyme JavaScript_javascript

Compétences d'analyse d'instance de fonction anonyme JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 16:30:551673parcourir

Les exemples de cet article décrivent l'utilisation des fonctions anonymes JavaScript. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Résumé :

Cet article explique la chose la plus fondamentale et la plus importante de JavaScript : les fonctions. La raison pour laquelle j'ai écrit cet article est parce qu'on m'a posé des questions à ce sujet lors de l'entretien, et il peut être considéré comme un rappel.

Prenons d’abord un exemple. Si vous le comprenez, cela signifie que vous comprenez déjà de quoi parle cet article.

Copier le code Le code est le suivant :
var f = (function() {

fonction f() {retour 10;}

return f();

fonction f() {retour 20;}

var f = 30;

})();

console.log(f);

Les fonctions sont décrites dans la programmation JavaScript avancée comme celle-ci : elles peuvent encapsuler n'importe quel nombre d'instructions et peuvent être appelées et exécutées n'importe où et à tout moment. J'ai déjà introduit le mode strict. Le mode strict a quelques restrictions sur les fonctions :

① La fonction ne peut pas être nommée eval ou arguments
② Vous ne pouvez pas nommer les paramètres comme évaluations ou arguments
③ Il ne peut pas y avoir deux paramètres nommés portant le même nom

Si la situation ci-dessus se produit, cela provoquera une erreur de syntaxe et le code ne pourra pas être exécuté.

Définition de la fonction

Les définitions de fonctions sont divisées en trois types

1. Constructeur

Copier le code Le code est le suivant :
var fun = new Funciton();

2. Définition commune

Copier le code Le code est le suivant :
function fun() {}

3. Définition fonctionnelle

Copier le code Le code est le suivant :
var fun = function() {};

La fonction fun peut être définie de ces trois manières.

Paramètres

La fonction ne se soucie pas du nombre de paramètres transmis, ni du type de données dans lequel les paramètres sont transmis. Même si la fonction que vous définissez ne reçoit que deux paramètres, vous n'êtes pas forcément obligé de passer deux paramètres lors de l'appel de cette fonction. Vous pouvez transmettre un, trois ou même aucun paramètre. La raison est que les paramètres sont représentés en interne par un tableau. Dans le corps de la fonction, vous pouvez accéder au tableau de paramètres via l'objet arguments, par exemple

Copier le code Le code est le suivant :
fonction sayHi() {

alert("Bonjour " arguments[0] "," arguments[1]);

}

Sachez combien de paramètres il y a en accédant à la propriété length de l'objet arguments. La longueur de la fonction renvoie le nombre de paramètres de la fonction.

Remarque : tous les paramètres sont passés par valeur et il est impossible de transmettre des paramètres par référence.

Les fonctions ne peuvent pas être surchargées, elles peuvent seulement être réécrites

Si deux fonctions portant le même nom sont définies, le nom n'appartient qu'à la dernière fonction définie, par exemple :

Copier le code Le code est le suivant :

fonction ajouter(num) {

renvoie le numéro 100 ;

}

fonction ajouter(num) {

renvoie le numéro 200 ;

}

var résultat = ajouter(100) //300

Remarque : la fonction s'arrête et se termine immédiatement après l'exécution de l'instruction return.

Types de fonctions

Les fonctions sont divisées en deux types : les fonctions nommées et les fonctions anonymes. Par exemple, la fameuse fonction suivante

Copier le code Le code est le suivant :
function fun() {

}

S'il est appelé, seul fun() est nécessaire.

Les fonctions anonymes, comme leur nom l'indique, n'ont pas de nom de fonction. Par exemple

fonction() {}

Les appels de fonction sont appelés via des noms de fonction. Comment appeler des fonctions anonymes ? La première consiste à attribuer la fonction anonyme à une variable et à laisser la variable servir de nom de fonction. L'autre consiste à utiliser () pour appeler, comme les trois méthodes suivantes

1. (function() {return;}());

2. (function() {return;})();

3. fonction() {return;}();

Exemple :

Copier le code Le code est le suivant :

(fonction(x, y) {

​​alerte(x y);

})(2,3);

//alerte(5)


2 et 3 seront passés en paramètres à x et y

Parlons du meilleur exemple. Cet exemple implique des fermetures, qui seront discutées plus tard

.

Définissez d'abord une variable f, puis attribuez-la à une fonction anonyme. Il convient de noter ici que la définition de toutes les variables de la fonction sera préfixée, donc l'ordre d'exécution dans la fonction anonyme est

Copier le code Le code est le suivant :

var f = (fonction() {

var f = 30;

fonction f() {retour 10;}

fonction f() {retour 20;}

return f();

})();


La variable externe f et la variable interne f ne sont pas dans la même portée (fermeture), elles n'ont donc aucune influence l'une sur l'autre. ​Comme la fonction ne peut pas être surchargée, la variable externe f=(function f() {return 20;})();, donc la sortie finale est 20.

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

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