Accueil / javascript / 1-js / 99-js-misc / 04-reference-type / 3-why-this / task.md

task.md

importance: 3

---

Expliquez la valeur de "this"

Dans le code ci-dessous, nous avons l'intention d'appeler la méthode obj.go() 4 fois de suite.

Mais les appels (1) et (2) fonctionnent différemment de (3) et (4). Pourquoi ?

let obj, method;

obj = {
  go: function() { alert(this); }
};

obj.go();               // (1) [object Object]

(obj.go)();             // (2) [object Object]

(method = obj.go)();    // (3) undefined

(obj.go || obj.stop)(); // (4) undefined