Fonctions JavaScript sont définies avec la function mot - clé.
Vous pouvez utiliser une déclaration de fonction ou une expression de fonction.
Déclarations de fonction
Plus tôt dans ce tutoriel, vous avez appris que les fonctions sont déclarées avec la syntaxe suivante:
function functionName ( parameters ) {
code to be executed
}
Les fonctions déclarées ne sont pas exécutées immédiatement. Ils sont "enregistrés pour une utilisation ultérieure", et seront exécutés plus tard, quand ils sont invoqués (appelés).
Les points-virgules sont utilisés pour séparer les instructions JavaScript exécutables.
Depuis une déclaration de fonction est pas une instruction exécutable, il est commun d' en finir avec un point - virgule.
Expressions de fonction
Une fonction JavaScript peut également être définie à l' aide d' une expression.
Une expression de fonction peut être stockée dans une variable:
Après une expression de fonction a été enregistrée dans une variable, la variable peut être utilisée en fonction:
La fonction ci - dessus est en fait une fonction anonyme (une fonction sans nom).
Fonctions stockées dans des variables ne nécessitent pas les noms de fonctions. Ils sont toujours invoquées (appelé) en utilisant le nom de la variable.
La fonction ci-dessus se termine par un point-virgule, car il est une partie d'une instruction exécutable.
La Function() Constructor
Comme vous l' avez vu dans les exemples précédents, les fonctions JavaScript sont définies avec la function mot - clé.
Les fonctions peuvent également être définis avec un haut-JavaScript constructeur de fonction appelée Function() .
Exemple
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
Essayez - le vous - même » Vous ne devez pas réellement utiliser le constructeur de fonction. L'exemple ci-dessus est le même que l'écriture:
Exemple
var myFunction = function (a, b) {return a * b};
var x = myFunction(4, 3);
Essayez - le vous - même » La plupart du temps, vous pouvez éviter d' utiliser le new mot - clé dans JavaScript.
Function Hoisting
Plus tôt dans ce tutoriel, vous avez appris sur "hoisting" .
Levage est le comportement par défaut de JavaScript de déplacer les déclarations au sommet de la portée actuelle.
Hisser applique aux déclarations de variables et de déclarations de fonctions.
De ce fait, les fonctions JavaScript peuvent être appelés avant qu'ils ne soient déclarés:
myFunction(5);
function myFunction(y) {
return y * y;
}
Fonctions définies à l'aide d'une expression ne sont pas hissés.
Fonctions auto-Invoquer
Les expressions de fonction peuvent être faites "auto-invocation".
Une expression de l'auto-invocation est invoqué (commencé) automatiquement, sans être appelé.
Les expressions de fonction exécutera automatiquement si l'expression est suivie par () .
Vous ne pouvez pas auto-invoquer une déclaration de fonction.
Vous devez ajouter des parenthèses autour de la fonction pour indiquer qu'elle est une expression de fonction:
La fonction ci - dessus est en fait une fonction d'auto-invocation anonyme (fonction sans nom).
Les fonctions peuvent être utilisées comme valeurs
fonctions JavaScript peuvent être utilisés en tant que valeurs:
Exemple
function myFunction(a, b) {
return a * b;
}
var x = myFunction(4, 3);
Essayez - le vous - même » fonctions JavaScript peuvent être utilisés dans les expressions:
Exemple
function myFunction(a, b) {
return a * b;
}
var x = myFunction(4, 3) * 2;
Essayez - le vous - même » Les fonctions sont des objets
Le typeof opérateur JavaScript retourne "function" pour les fonctions.
Mais, les fonctions JavaScript peuvent être décrits comme des objets.
Fonctions JavaScript ont deux propriétés et méthodes.
La propriété arguments.length renvoie le nombre d'arguments reçus lorsque la fonction a été invoquée:
Le toString() méthode renvoie la fonction comme une chaîne:
Exemple
function myFunction(a, b) {
return a * b;
}
var txt =
myFunction.toString();
Essayez - le vous - même » Une fonction définie comme étant la propriété d'un objet, est appelée une méthode à l'objet.
Une fonction conçue pour créer de nouveaux objets, est appelé un constructeur de l'objet.