Définition de la fonction JavaScript
- Page précédente Référence d'objet JS
- Page suivante Paramètres de fonction JS
Les fonctions JavaScript sont définies par function
mot-cléDéfinir.
Vous pouvez utiliser la fonctionLe hoisting est le processus par lequel JavaScriptou fonctionExpression。
déclaration de fonction
Dans ce tutoriel, vous avez appris plus tôt par la syntaxe suivanteLe hoisting est le processus par lequel JavaScriptFonction :
function functionName(parameters) { Le code à exécuter }
Les fonctions déclarées ne s'exécutent pas directement. Elles sont «enregistrées pour une utilisation ultérieure» et seront exécutées plus tard, lorsqu'elles sont appelées.
Exemple
function myFunction(a, b) { return a * b; }
Le point-virgule est utilisé pour séparer les instructions JavaScript exécutables.
En raison des fonctionsLe hoisting est le processus par lequel JavaScriptNe sont pas des instructions exécutables, ne se terminent pas souvent par un point-virgule.
expressions de fonction
Les fonctions JavaScript peuvent également utiliserExpressionpour définir.
Les expressions de fonction peuvent être stockées dans une variable :
Exemple
var x = function (a, b) {return a * b};
Après avoir stocké l'expression de la fonction dans une variable, cette variable peut être utilisée comme une fonction :
Exemple
var x = function (a, b) {return a * b}; var z = x(4, 3);
;Fonction anonymeFonction auto-appele anonyme
Les fonctions stockées dans une variable n'ont pas besoin de nom. Elles sont toujours appelées par le nom de la variable.
La fonction ci-dessus se termine par un point-virgule car elle fait partie d'une instruction exécutable.
le constructeur Function()
Comme vous avez vu dans les exemples précédents, les fonctions JavaScript sont définies par function
par les mots-clés définis.
Les fonctions peuvent également être définies par un nom Function()
Function()
Exemple
de constructeurs de fonctions JavaScript intégrés pour définir. Les fonctions JavaScript peuvent être utilisées comme valeurs :
var myFunction = new Function("a", "b", "return a * b");
Exemple
Vous n'avez pas besoin réellement d'utiliser le constructeur de fonction. L'exemple suivant est également correct : Les fonctions JavaScript peuvent être utilisées comme valeurs :
var myFunction = function (a, b) {return a * b}; Dans la plupart des cas, vous pouvez éviter d'utiliser
new
mot-clé.
levée de fonctions
Dans ce tutoriel, vous avez déjà appris "hoisting" (hoisting) plus tôt.Le hoisting est le processus par lequel JavaScriptDéclaration
C'est le comportement par défaut qui déplace les déclarations vers le sommet de l'ensemble d'exigences actuel.
Le hoisting s'applique aux déclarations de variables et de fonctions.
C'est pourquoi les fonctions JavaScript peuvent être appelées avant leur déclaration : myFunction(5); function myFunction(y) { }
return y * y;
Les fonctions définies par expression ne sont pas liftées.
Fonction auto-appele
L'expression de fonction peut être utilisée comme "auto-appele".
L'expression auto-appele est appelée automatiquement (démarrée), sans appel. })
。
L'expression de fonction s'exécute automatiquement, si l'expression est suivie de
Vous ne pouvez pas auto-appeler une déclaration de fonction.
Exemple
Vous devez ajouter des parenthèses autour de la fonction pour indiquer qu'il s'agit d'une expression de fonction : (function () { var x = "Hello!!"; // Je vais m'appeler moi-même})()
;La fonction ci-dessus est en réalité uneFonction auto-appele anonyme
(fonction anonyme)。
Les fonctions peuvent être utilisées comme valeurs
Exemple
function myFunction(a, b) { return a * b; } Les fonctions JavaScript peuvent être utilisées comme valeurs :
var x = myFunction(4, 3);
Exemple
function myFunction(a, b) { return a * b; } Les fonctions JavaScript peuvent être utilisées dans des expressions :
var x = myFunction(4, 3) * 2;
Les fonctions dans JavaScript sont des objets typeof
L'opérateur retourne "function
"。
Mais il est préférable de décrire une fonction JavaScript en tant qu'objet.
Les fonctions JavaScript ontles attributsetLa méthode。
arguments.length
Retourne le nombre de paramètres reçus lorsque la fonction est appelée :
Exemple
function myFunction(a, b) { return arguments.length; }
toString()
La méthode retourne une chaîne de caractères pour la fonction :
Exemple
function myFunction(a, b) { return a * b; } var txt = myFunction.toString();
Les fonctions définies comme propriétés d'objet sont appelées méthodes d'objet.
Les fonctions conçues pour créer de nouveaux objets sont appelées constructeurs d'objets (constructeurs d'objets).
Fonction fléchée
Les fonctions fléchées permettent d'utiliser une syntaxe concise pour écrire des expressions de fonction.
Vous n'avez pas besoin de la mot-clé function, du mot-clé return et des accolades.
Exemple
// ES5 var x = function(x, y) { return x * y; } // ES6 const x = (x, y) => x * y;
Les fonctions fléchées n'ont pas leur propre this. Elles ne conviennent pas à la définition de méthodes d'objet.
Les fonctions fléchées ne sont pas的提升。Elles doivent être définies avant leur utilisation.
Utiliser const est plus sûr que d'utiliser var, car l'expression de fonction est toujours une valeur constante.
Si la fonction est une seule instruction, le mot-clé return et les accolades peuvent être omis. Par conséquent, conserver cela peut être une bonne habitude :
Exemple
const x = (x, y) => { return x * y };
Les versions 11 ou antérieures d'IE ne prennent pas en charge les fonctions fléchées.
- Page précédente Référence d'objet JS
- Page suivante Paramètres de fonction JS