Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée de l'exemple de code d'apprentissage d'entrée de gamme de la fonction javascript

伊谢尔伦
Libérer: 2017-07-25 13:32:28
original
1309 Les gens l'ont consulté

Dans le monde JavaScript, les fonctions sont des citoyens de premier ordre. Elles disposent non seulement de tous les moyens d'utiliser les fonctions traditionnelles (déclaration et appel), mais peuvent également attribuer des valeurs, transmettre des paramètres et renvoyer des valeurs simples. également appelé fonction de première classe. De plus, la fonction en JavaScript agit également en tant que constructeur de la classe et est une instance de la classe Function. De telles identités multiples rendent les fonctions JavaScript très importantes.

Fonctions d'entrée de gamme

Comme d'autres langages, les fonctions JavaScript suivent d'abord le principe de déclaration et sont utilisées plus tard. Les noms de fonctions ne peuvent contenir que des lettres, des chiffres, des traits de soulignement ou $, et ne peuvent pas commencer par un. nombre. Il existe deux manières courantes de déclarer des fonctions :

 // 直接声明函数myfunc 
 function myfunc(/* arguments */) { 
 } 
   
 // 把匿名函数赋值给本地变量myfunc 
 var myfunc = function(/* arguments */) { 
 }
Copier après la connexion

Notez qu'il existe des différences subtiles entre les deux manières ci-dessus de déclarer des fonctions : la première manière est une fonction nommée lorsqu'elle est déclarée, qu'elle soit déclarée ou appelée Avant, après l'appel, même les positions qui ne seront pas exécutées (comme après l'instruction return ou dans une branche qui ne sera jamais vraie), sont accessibles dans toute la portée ; la deuxième manière consiste à affecter la fonction anonyme à un ; méthode variable. À proprement parler, il ne s'agit pas d'une déclaration de fonction mais d'une expression de fonction. Cette fonction n'est accessible par aucun code avant l'affectation, ce qui signifie que l'affectation doit être terminée avant l'appel, sinon une erreur se produira lors de l'appel : "TypeError. : undefined n'est pas une fonction". Par exemple :

 myfunc1(); // 能够正常调用,因为myfunc1采用直接声明的方式 
   
 function myfunc1() { 
 } 
   
 myfunc2(); // 出错 TypeError: undefined is not a function 
   
 var myfunc2 = function() { 
 };
Copier après la connexion

La méthode d'appel de base de la fonction est la même que celle des langages traditionnels utilisant une paire de crochets : myfunc(). Les fonctions JavaScript prennent également en charge les appels récursifs directs ou indirects. Par exemple, la fonction Fibonacci classique peut être implémentée en JavaScript comme ceci :

 function fib(n) { 
   if (n == 1 || n == 2) { 
     return 1; 
   } else { 
     return fib(n - 2) + fib(n - 1); 
   } 
 }
Copier après la connexion

Les fonctions en JavaScript peuvent gérer des paramètres de longueur variable. En interne, il existe un local. variable nommée arguments, qui est un objet de type tableau qui contient tous les paramètres transmis lors de l'appel. L'attribut length indique le nombre de paramètres. Par exemple :

 function test() { 
   alert(arguments.length); 
 } 
   
 test(1); // 1 
 test(1, 'a'); // 2 
 test(true, [], {}); // 3 利用arguments可以实现类似C语言printf的功能,也可以用来实现方法的多态。
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!