Un article précédent mentionnait Plusieurs façons d'appeler des fonctions anonymes. Cet article examine les différentes manières d'appeler des fonctions nommées.
1, ()
Le plus couramment utilisé est l'opérateur () pour appeler/exécuter une fonction :
Après l'ajout de l'appel par ECMAScript3 et son application à la fonction, il existe les deux types suivants.
2. appeler
3. postuler
Bien que call et apply puissent être uniquement utilisés pour appeler/exécuter des fonctions, ils sont davantage utilisés pour modifier le contexte d'exécution de la fonction.
4. nouveau (cette méthode n'est pas recommandée)
L'essence de new est de créer/construire une instance d'une classe. Les fun1 et fun2 définis ici ne sont évidemment pas une classe (non ça, pas de prototype). Mais les deux fonctions se sont exécutées. C'est un effet secondaire du nouveau.
Par rapport aux méthodes d'appel ci-dessus, il n'y a aucune différence dans les résultats d'exécution des quatre méthodes. Mais si la fonction a une valeur de retour, vous pourriez être un peu déçu en l'appelant avec new.
Changez-le par ceci
Pour résumer : lors de l’appel d’une fonction à l’aide d’une nouvelle méthode. S'il existe une valeur de retour, lorsque la valeur de retour est un type intégré (type de base) de JavaScript tel que String, Number, Boolean, etc., la valeur ne sera pas renvoyée lorsque la valeur de retour est un objet ; fonction, tableau et autres types d'objets, l'objet, la fonction, le tableau seront renvoyés directement.
Lorsque la valeur de retour est un type intégré (type de base), que renvoie exactement new fun() ? Le prochain article abordera les détails du nouvel appel de méthode.