Cet article décrit l'utilisation des fonctions anonymes en JavaScript. Partagez-le pour votre référence. L'analyse spécifique est la suivante:
résumé:
Cet article explique la chose la plus élémentaire et la plus importante à propos des fonctions JavaScript. La raison pour laquelle j'ai écrit cet article est parce que je l'ai demandé lors de l'interview, qui est également considérée comme examinant le passé et apprenant le nouveau.
Prenons un exemple en premier. Si vous le comprenez, cela signifie que vous avez compris de quoi cet article va parler.
Copiez le code comme suit: var f = (function () {
fonction f () {return 10;}
retour f ();
fonction f () {return 20;}
var f = 30;
}) ();
console.log (f);
Dans la programmation avancée JavaScript, les fonctions sont décrites de cette manière - 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 et le mode strict a certaines limites aux fonctions:
① La fonction ne peut pas être nommée EVAL ou Arguments
② Les paramètres ne peuvent pas être nommés comme des évaluations ou des arguments
③ Deux paramètres nommés ne peuvent pas être le même nom
La situation ci-dessus entraînera des erreurs de syntaxe et le code ne sera pas exécuté.
Définition de la fonction
Les définitions de fonction sont divisées en trois types
1. Constructeur
La copie de code est la suivante: var fun = new funciton ();
2. Définition ordinaire
Copiez le code comme suit: Function Fun () {}
3. Définition fonctionnelle
La copie de code est la suivante: var fun = function () {};
Les trois façons peuvent définir le plaisir de la fonction.
paramètre
Les fonctions ne se soucient pas du nombre de paramètres passés, et ils ne se soucient pas du type de données que les paramètres ont passé. Même si la fonction que vous définissez ne reçoit que deux paramètres, vous ne pouvez pas nécessairement transmettre deux paramètres lorsque vous appelez cette fonction. Un ou trois peuvent être passés ou même pas de paramètres. La raison en 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
Copiez le code comme suit: fonction sayshi () {
alert ("hello" + arguments [0] + "," + arguments [1]);
}
En accédant à la propriété de longueur de l'objet Arguments, nous pouvons savoir combien il y a de paramètres. La longueur de la fonction renverra le nombre de paramètres de la fonction.
Remarque: Tous les paramètres passent des valeurs, et il est impossible de passer les paramètres via des références.
Les fonctions ne peuvent pas être surchargées, elles ne peuvent être réécrites.
Si deux fonctions avec le même nom sont définies, le nom appartient à la dernière fonction définie, par exemple:
La copie de code est la suivante:
fonction add (num) {
retour num + 100;
}
fonction add (num) {
retour num + 200;
}
Var Result = Add (100) // 300
Remarque: La fonction s'arrête et sort immédiatement après l'exécution de l'instruction RETOUR.
Types de fonctions
Les fonctions sont divisées en deux types: une fonction de nom et une fonction anonyme. Par exemple, la fonction célèbre suivante
Copiez le code comme suit: Function Fun () {
}
S'il est appelé, il est juste amusant () est nécessaire.
Les fonctions anonymes, comme son nom l'indique, n'ont pas de noms de fonction. Par exemple
fonction() {}
Les appels de fonction sont appelés via des noms de fonction. Comment appeler des fonctions anonymes? L'une consiste à attribuer une fonction anonyme à une variable, permettant à cette variable d'agir comme le nom de la fonction. Une autre façon consiste à utiliser () pour l'appeler, par exemple, les trois méthodes suivantes
1. (Function () {return;} ());
2. (Fonction () {return;}) ();
3. Function () {return;} ();
exemple:
La copie de code est la suivante:
(fonction (x, y) {
Alerte (x + y);
}) (2,3);
// alerte (5)
2 et 3 seront transmis comme paramètres à x et y
Parlons de l'exemple supérieur. Cet exemple implique des fermetures, qui seront discutées plus tard.
Définissez d'abord une variable F, puis affectez une fonction anonyme. Ici, nous devons noter que les définitions de toutes les variables de la fonction seront prédéfinies, donc l'ordre d'exécution dans la fonction anonyme est
La copie de code est la suivante:
var f = (function () {
Var f = 30;
fonction f () {return 10;}
fonction f () {return 20;}
retour f ();
}) ();
La variable externe F et la variable intérieure F ne sont pas dans la même portée (fermeture), de sorte qu'elles ne se affectent pas. Parce que la fonction ne peut pas être surchargée, la variable externe f = (fonction f () {return 20;}) ();, donc la sortie finale est de 20.
J'espère que cet article sera utile à la programmation JavaScript de tous.