Appel de fonction JavaScript

Le code à l’intérieur d’un JavaScript function
s’exécutera lorsque “quelque chose” l’invoquera.
Invoquer une fonction JavaScript
Le code à l’intérieur d’une fonction n’est pas exécuté lorsque la fonction est défini.
Le code à l’intérieur d’une fonction est exécuté lorsque la fonction est invoqué.
Il est courant d’utiliser le terme “appeler une fonction” au lieu de “appeler une fonction“.
Il est également courant de dire “appeler une fonction”, “démarrer une fonction” ou “exécuter une fonction”.
Dans ce tutoriel, nous utiliserons invoquercar une fonction JavaScript peut être invoquée sans être appelée.
Invoquer une fonction en tant que fonction
Exemple
function maFonction(a, b) {
retourner un * b ;
}
maFonction(10, 2); // Retournera 20
Essayez-le vous-même »
La fonction ci-dessus n’appartient à aucun objet. Mais en JavaScript, il y a toujours un objet global par défaut.
En HTML, l’objet global par défaut est la page HTML elle-même, donc la fonction ci-dessus “appartient” à la page HTML.
Dans un navigateur, l’objet page est la fenêtre du navigateur. La fonction ci-dessus devient automatiquement une fonction de fenêtre.
Note
C’est une façon courante d’invoquer une fonction JavaScript, mais ce n’est pas une très bonne pratique.
Les variables, méthodes ou fonctions globales peuvent facilement créer des conflits de noms et des bogues dans l’objet global.
myFunction() et window.myFunction() est la même fonction :
Exemple
function maFonction(a, b) {
retourner un * b ;
}
window.maFonction(10, 2); // Retournera également 20
Essayez-le vous-même »
Qu’est-ce que ce?
En JavaScript, le this
mot-clé fait référence à un objet.
Qui l’objet dépend de comment this
est invoqué (utilisé ou appelé).
Le this
mot-clé fait référence à différents objets selon la façon dont il est utilisé :
Dans une méthode objet, this se réfère à la objet. |
Seul, this se réfère à la objet global. |
Dans une fonction, this se réfère à la objet global. |
Dans une fonction, en mode strict, this est undefined . |
Dans un événement, this se réfère à la élément qui a reçu l’événement. |
Des méthodes comme call() , apply() et bind() peut se référer this pour n’importe quel objet. |
L’objet global
Lorsqu’une fonction est appelée sans objet propriétaire, la valeur de this
devient l’objet global.
Dans un navigateur Web, l’objet global est la fenêtre du navigateur.
Cet exemple renvoie l’objet window comme valeur de this
:
Exemple
soit x = maFonction(); // x sera l’objet fenêtre
function maFonction() {
retournez ceci;
}
Essayez-le vous-même »
L’appel d’une fonction en tant que fonction globale provoque la valeur de ce être l’objet global.
L’utilisation de l’objet window comme variable peut facilement planter votre programme.
Invoquer une fonction en tant que méthode
En JavaScript, vous pouvez définir des fonctions en tant que méthodes d’objet.
L’exemple suivant crée un objet (monObjet), avec deux propriétés (prénom et nom de famille) et une méthode (nom et prénom):
Exemple
const monObjet = {
prénom:”John”,
nom: “Biche”,
nomcomplet : fonction () {
retourne this.firstName + ” ” + this.lastName ;
}
}
monObjet.nomComplet(); // Retournera “John Doe”
Essayez-le vous-même »
Le nom et prénom méthode est une fonction. La fonction appartient à l’objet. monObjet est le propriétaire de la fonction.
La chose appelée this
, est l’objet qui “possède” le code JavaScript. Dans ce cas, la valeur de this
est monObjet.
Essaye-le! Changer la nom et prénom méthode pour renvoyer la valeur de this
:
Exemple
const monObjet = {
prénom:”John”,
nom: “Biche”,
nomcomplet : fonction () {
retournez ceci;
}
}
// Cela renverra [object Object] (l’objet propriétaire)
monObjet.nomComplet();
Essayez-le vous-même »
L’appel d’une fonction en tant que méthode d’objet entraîne la valeur de this
être l’objet lui-même.
Invoquer une fonction avec un constructeur de fonction
Si une invocation de fonction est précédée de la new
mot-clé, il s’agit d’un appel de constructeur.
On dirait que vous créez une nouvelle fonction, mais comme les fonctions JavaScript sont des objets, vous créez en fait un nouvel objet :
Exemple
// Ceci est un constructeur de fonction :
function maFonction(arg1, arg2) {
this.firstName = arg1 ;
this.lastName = arg2 ;
}
// Ceci crée un nouvel objet
const myObj = new myFunction(“John”, “Doe”);
// Ceci renverra “John”
monObj.prenom;
Essayez-le vous-même »
Un appel de constructeur crée un nouvel objet. Le nouvel objet hérite des propriétés et des méthodes de son constructeur.
Le this
mot-clé dans le constructeur n’a pas de valeur.
La valeur de this
sera le nouvel objet créé lors de l’invocation de la fonction.
#Appel #fonction #JavaScript