Définition de la fonction JavaScript
JavaScript utilise le mot-clé function pour définir les fonctions.
La fonction peut être définie par déclaration ou elle peut être une expression.
Déclaration de fonction
Dans le tutoriel précédent, vous avez appris la syntaxe de la déclaration de fonction :
function functionName(parameters) {
Code exécuté
}
La fonction ne sera pas exécutée immédiatement après sa déclaration, mais sera appelée lorsque nous en aurons besoin.
Expression de fonction
Les fonctions JavaScript peuvent être définies par une expression.
Les expressions de fonction peuvent être stockées dans des variables :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>函数可以存储在变量中:</p> <p id="demo"></p> <script> var x = function (a, b) {return a * b}; document.getElementById("demo").innerHTML = x; </script> </body> </html>
Une fois les expressions de fonction stockées dans des variables, les variables peuvent également être utilisées comme fonction :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>函数存储在变量后,变量可作为函数使用:</p> <p id="demo"></p> <script> var x = function (a, b) {return a * b}; document.getElementById("demo").innerHTML = x(4, 3); </script> </body> </html>
La fonction ci-dessus est en fait une fonction anonyme (la fonction n'a pas de nom).
La fonction est stockée dans une variable et ne nécessite pas de nom de fonction. Elle est généralement appelée via le nom de la variable.
La fonction ci-dessus se termine par un point-virgule car il s'agit d'une instruction d'exécution.
Constructeur Function()
Dans l'exemple ci-dessus, nous avons appris que les fonctions sont définies via le mot-clé function.
Les fonctions peuvent également être définies via le constructeur de fonctions JavaScript intégré (Function()).
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>JavaScrip 内置构造函数。</p> <p id="demo"></p> <script> var myFunction = new Function("a", "b", "return a * b"); document.getElementById("demo").innerHTML = myFunction(4, 3); </script> </body> </html>
Fonction Hoisting (Levage)
Dans le tutoriel précédent, nous avons appris le "levage".
Le levage est le comportement par défaut de JavaScript consistant à hisser la portée actuelle vers l'avant.
Le levage est appliqué aux déclarations de variables et aux déclarations de fonctions.
Par conséquent, une fonction peut être appelée avant d'être déclarée :
myFunction(5); function myFunction(y) { return y * y; }
Le levage n'est pas possible lors de la définition d'une fonction à l'aide d'une expression.
Fonctions auto-appelantes
Les expressions de fonction peuvent "s'appeler elles-mêmes".
Les expressions auto-appelantes sont automatiquement appelées.
Appelé automatiquement si l'expression est suivie de () .
Impossible d'appeler automatiquement la fonction déclarée.
La fonction est un objet
L'utilisation de l'opérateur typeof en JavaScript pour déterminer le type de fonction renverra "fonction".
Mais il est plus précis de décrire une fonction JavaScript comme un objet.
Les fonctions JavaScript ont des propriétés et des méthodes. La propriété
arguments.length renvoie le nombre de paramètres reçus lors de l'appel de la fonction :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p> arguments.length 属性返回函数接收到参数的个数:</p> <p id="demo"></p> <script> function myFunction(a, b) { return arguments.length; } document.getElementById("demo").innerHTML = myFunction(4, 3); </script> </body> </html>
La fonction est définie comme un attribut de l'objet, appelé méthode objet.
Si la fonction est utilisée pour créer un nouvel objet, elle est appelée constructeur de l'objet.