en.javascript.info/01-js/06-objects-more/01-object-methods/03-why-this/task.md
Ilya Kantor f301cb744d init
2014-10-26 22:10:13 +03:00

516 B
Raw Blame History

Почему this присваивается именно так?

[importance 3]

Вызовы (1) и (2) в примере ниже работают не так, как (3) и (4):

//+ run
"use strict"

var obj, f;

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

obj.go();            // (1) object

(obj.go)();          // (2) object

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

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

В чём дело? Объясните логику работы this.