Programmation Web, année 2019
Rappel sur la programmation objet.
Élément de syntaxe
Un objet en JavaScript ressemble beaucoup à un dictionnaire python.
var obj = { "clef" : "valeur" }
console.log(obj.clef); // accède à la valeur.
console.log(obj["clef"]); // accède à la valeur.
Méthode vs Fonctions
Une méthode c’est une fonction qui est dépendante d’une instance d’un objet.
Exemple:
.clef = 3;
obj.ma_method = function (){
objconsole.log(this.clef); // Le mot clef "this" représente l'instance de l'objet
}.ma_method(); // affiche 3 dans la console
obj.clef = ';
obj.ma_method(); // affiche 4 dans la console. obj
La portée de this
Le mot clef this
réfère à l’objet qui appel la fonction.
Les fonctions non appelés par un objet sont appelé par l’objet
window
.
function A(){
= {"x":3};
obj .B = function(){
obj= {"x":4};
obj2 .C = function(){
obj2console.log(this.x);
;
}return obj2}
return obj
}= A()
Poulet = Poulet.B()
Basquaise .C() # Affiche 4
Basquaise.C = Basquaise.C
Poulet.C() # Affiche 3 Poulet
Assigner localement this
à une variable pour le
récupérer dans une sous-fonction peut être très utile.
= {}
obj .ma_fonction(){
obj// this réfère à obj.
function Pouet()
{console.log(this);// this réfère à Window
}var that = this;
function PouetPouet()
{console.log(that);// that réfère à obj
} }
Compiled the: mer. 04 sept. 2024 12:49:36 CEST