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 */) { }
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() { };
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); } }
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的功能,也可以用来实现方法的多态。
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!