Définitions des Fonctions JavaScript

Les fonctions JavaScript sont définies avec le mot clé function.

Vous pouvez utiliser une déclaration de fonction ou une expression de fonction.

Déclarations de fonctions

Plus tôt dans ce tutoriel, vous avez appris que les fonctions sont déclarées avec la syntaxe suivante:

function functionName (parameters) {
// code à exécuter
}

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, lorsqu’ils seront invoqués (appelés).

Exemple

fonction myFunction(a, b) {
retour a*b;
}

Essayez-le vous-même  »

Les points-virgules sont utilisés pour séparer les instructions JavaScript exécutables.
Comme une déclaration de fonction n’est pas une instruction exécutable, il n’est pas courant de la terminer par 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:

Exemple

var x = function(a, b) { return a *b};

Essayez-le vous-même  »

Une fois qu’une expression de fonction a été stockée dans une variable, la variable peut être utilisée comme une fonction:

Exemple

var x = function(a, b) { return a *b};
var z = x(4, 3);

Essayez-le vous-même »

La fonction ci-dessus est en fait une fonction anonyme (une fonction sans nom).

Les fonctions stockées dans des variables n’ont pas besoin de noms de fonction. Ils sont toujours invoqués (appelés) en utilisant 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 l’avez vu dans les exemples précédents, les fonctions JavaScript sont définies avec le mot clé function.Les fonctions

peuvent également être définies avec un constructeur de fonctions JavaScript intégré appelé Function().

Exemple

var myFunction = new Function(« a », « b », « return a * b »);
var x = myFunction(4, 3);

Essayez-le vous-même »

Vous n’avez en fait pas besoin d’utiliser le constructeur de la 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 mot clé new en JavaScript.

Fonction de levage

Plus tôt dans ce tutoriel, vous avez appris le « levage » (levage JavaScript).

Le levage est le comportement par défaut de JavaScript consistant à déplacer les déclarations vers le haut de la portée actuelle.

Le levage s’applique aux déclarations de variables et aux déclarations de fonctions.

Pour cette raison, les fonctions JavaScript peuvent être appelées avant d’être déclarées:

La fonction myFunction(5);
fonction myFunction(y) {
renvoie y*y;
}

Les fonctions définies à l’aide d’une expression ne sont pas hissées.

Fonctions auto-invoquantes

Les expressions de fonction peuvent être « auto-invoquées ».

Une expression auto-invoquée est appelée (démarrée) automatiquement, sans être appelée.

Les expressions de fonction s’exécuteront automatiquement si l’expression est suivie de ().

Vous ne pouvez pas auto-invoquer une déclaration de fonction.

Vous devez ajouter des parenthèses autour de la fonction pour indiquer qu’il s’agit d’une expression de fonction:

Exemple

(function() {
var x= »Bonjour!! »; // Je m’invoquerai moi-même
})();

Essayez-le vous-même »

La fonction ci-dessus est en fait une fonction auto-invoquante anonyme (fonction sans nom).

Les fonctions Peuvent être utilisées comme Valeurs

Les fonctions JavaScript peuvent être utilisées comme valeurs:

Exemple

fonction myFunction(a, b) {
return a*b;
}
var x = myFunction(4, 3);

Essayez-le vous-même »

Les fonctions JavaScript peuvent être utilisées dans les expressions:

Exemple

fonction myFunction(a, b) {
return a*b;
}
var x = myFunction(4, 3) * 2;

Essayez-le vous-même  »

Les fonctions sont des objets

L’opérateur typeof en JavaScript renvoie « function » pour les fonctions.

Mais, les fonctions JavaScript peuvent mieux être décrites comme des objets.

Les fonctions JavaScript ont à la fois des propriétés et des méthodes.

La propriété arguments.length renvoie le nombre d’arguments reçus lors de l’appel de la fonction:

Exemple

fonction myFunction(a, b) {
arguments de retour.length;
}

Essayez-le vous-même »

La méthode toString() renvoie la fonction sous forme de chaîne:

Exemple

fonction myFunction(a, b) {
return a*b;
}
var txt= myFunction.toString();

Essayez-le vous-même  »

Une fonction définie comme la propriété d’un objet, est appelée méthode de l’objet.
Une fonction conçue pour créer de nouveaux objets s’appelle un constructeur d’objets.

Fonctions de flèche

Fonctions de flèche permet une syntaxe courte pour écrire des expressions de fonction.

Vous n’avez pas besoin du mot-clé function, du mot-clé return et des accolades.

Exemple

// ES5
var x = function(x, y) {
retour x*y;
}
// ES6
const x =(x, y) = > x*y;

Essayez-le vous-même »

Les fonctions de flèche n’ont pas leur propre this.Ils ne sont pas bien adaptés à la définition de méthodes d’objets.

Les fonctions de flèche ne sont pas hissées. Ils doivent être définis avant d’être utilisés.

Utiliser const est plus sûr que d’utiliser var, car une expression de fonction est toujours à valeur constante.

Vous ne pouvez omettre le mot clé return et les accolades que si la fonction est une seule instruction. Pour cette raison, il pourrait être une bonne habitude de toujours les garder:

Exemple

const x =(x, y) = > { return x *y};

Essayez-le vous-même  »

Les fonctions de flèche ne sont pas prises en charge dans IE11 ou une version antérieure.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

More: