La différence entre les appels de fonction JavaScript avec et sans parenthèses
Tags associésï¼1.Exemple JavaScript
2. Prototypes et héritage en JavaScript
Introduction : function fun() { return 1; } var a = fun; var b = fun(); En JavaScript, on appelle le code suivant une fonction : function fun() { return 1; } Une fonction est un type référence appelé function, la fonction est donc un objet. L'objet est stocké en mémoire et le nom de la fonction est un pointeur vers cet objet. var
function fun ( ) {
return 1 ;
}
var a = fun;
var b = fun( );
En JavaScript, on appelle le code suivant une fonction :
function fun ( ) {
return 1 ;
}

Une fonction est une instance d'un type référence appelé function. Une fonction est donc un objet. L'objet est stocké en mémoire et le nom de la fonction est un pointeur vers cet objet.
var a = fun signifie que l'on copie le pointeur du nom de fonction fun dans la variable a, mais cela ne signifie pas que la fonction elle-même est copiée.
C'est-à-dire : a est la fonction fun, b est 1
Si le nom de la fonction est suivi de parenthèses, cela signifie que le code de la fonction (le code entre accolades) est appelé (exécuté) immédiatement.
ãAppels de fonction JavaScript avec et sans parenthèsesã
Sans parenthèses, le nom de la fonction est utilisé comme pointeur de la fonction. Le nom d'une fonction est le pointeur de la fonction. Dans ce cas, le résultat de la fonction n'est pas obtenu, car le code du corps de la fonction n'est pas exécuté. Il transmet simplement l'adresse où se trouve le corps de la fonction, afin de pouvoir le trouver et l'exécuter lorsque cela est nécessaire.
Ex. :
window.onload = init ;
La fonction init n'est pas exécutée lorsque cette ligne de code est exécutée. Lorsque le navigateur charge le document, cette instruction est chargée et indique quelle fonction exécuter après le chargement du document, mais elle n'est pas exécutée à ce moment-là. Elle ne s'exécute qu'une fois le document entièrement chargé. La fonction init() est alors exécutée via le pointeur init.
Remarque : une partie du contenu de cet article est référencée :
https://www.zhihu.com/question/31044040
http://blog.csdn.net/yyx19941129/article/details/49642515
Auteur : jiankunking Source : http://blog.csdn.net/jiankunking
Mention de droits d'auteur : le contenu de cet article est fourni par des utilisateurs inscrits sous leur nom réel sur Alibaba Cloud. Les droits d'auteur appartiennent à l'auteur original. La communauté des développeurs Alibaba Cloud ne détient pas les droits d'auteur et n'assume pas la responsabilité juridique correspondante. Pour les règles spécifiques, veuillez consulter l'« Accord de service des utilisateurs de la communauté des développeurs Alibaba Cloud » et les « Directives de protection de la propriété intellectuelle de la communauté des développeurs Alibaba Cloud ». Si vous trouvez du contenu suspecté de plagiat dans cette communauté, remplissez le formulaire de plainte pour contrefaçon afin de le signaler. Une fois vérifié, cette communauté supprimera immédiatement le contenu suspecté de contrefaçon.
2. Prototypes et héritage en JavaScript
Introduction : function fun() { return 1; } var a = fun; var b = fun(); En JavaScript, on appelle le code suivant une fonction : function fun() { return 1; } Une fonction est un type référence appelé function, la fonction est donc un objet. L'objet est stocké en mémoire et le nom de la fonction est un pointeur vers cet objet. var
function fun ( ) {
return 1 ;
}
var a = fun;
var b = fun( );
En JavaScript, on appelle le code suivant une fonction :
function fun ( ) {
return 1 ;
}

ãAppels de fonction JavaScript avec et sans parenthèsesã
Une fonction est une instance d'un type référence appelé function. Une fonction est donc un objet. L'objet est stocké en mémoire et le nom de la fonction est un pointeur vers cet objet.
var a = fun signifie que l'on copie le pointeur du nom de fonction fun dans la variable a, mais cela ne signifie pas que la fonction elle-même est copiée.
C'est-à-dire : a est la fonction fun, b est 1
Si le nom de la fonction est suivi de parenthèses, cela signifie que le code de la fonction (le code entre accolades) est appelé (exécuté) immédiatement.
ãAppels de fonction JavaScript avec et sans parenthèsesã
Sans parenthèses, le nom de la fonction est utilisé comme pointeur de la fonction. Le nom d'une fonction est le pointeur de la fonction. Dans ce cas, le résultat de la fonction n'est pas obtenu, car le code du corps de la fonction n'est pas exécuté. Il transmet simplement l'adresse où se trouve le corps de la fonction, afin de pouvoir le trouver et l'exécuter lorsque cela est nécessaire.
Ex. :
window.onload = init ;
La fonction init n'est pas exécutée lorsque cette ligne de code est exécutée. Lorsque le navigateur charge le document, cette instruction est chargée et indique quelle fonction exécuter après le chargement du document, mais elle n'est pas exécutée à ce moment-là. Elle ne s'exécute qu'une fois le document entièrement chargé. La fonction init() est alors exécutée via le pointeur init.
Remarque : une partie du contenu de cet article est référencée :
https://www.zhihu.com/question/31044040
http://blog.csdn.net/yyx19941129/article/details/49642515
Auteur : jiankunking Source : http://blog.csdn.net/jiankunking
Mention de droits d'auteur : le contenu de cet article est fourni par des utilisateurs inscrits sous leur nom réel sur Alibaba Cloud. Les droits d'auteur appartiennent à l'auteur original. La communauté des développeurs Alibaba Cloud ne détient pas les droits d'auteur et n'assume pas la responsabilité juridique correspondante. Pour les règles spécifiques, veuillez consulter l'« Accord de service des utilisateurs de la communauté des développeurs Alibaba Cloud » et les « Directives de protection de la propriété intellectuelle de la communauté des développeurs Alibaba Cloud ». Si vous trouvez du contenu suspecté de plagiat dans cette communauté, remplissez le formulaire de plainte pour contrefaçon afin de le signaler. Une fois vérifié, cette communauté supprimera immédiatement le contenu suspecté de contrefaçon.
Articles associés
-
6 technologies de stockage de données au choix
Équipe de la base de connaissances
Découvrir plus d'offres spéciales
-
Service de messagerie courte (SMS) et service de courrier
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00
