Ключевое слово this
относится к объекту, которому принадлежит функция, или к объекту window
, если функция не принадлежит ни одному объекту.
Используется в коде ООП для ссылки на класс / объект, которому принадлежит функция
Например:
function foo() {
this.value = 'Hello, world';
this.bar = function() {
alert(this.value);
}
}
var inst = new foo();
inst.bar();
Это оповещения: Hello, world
Вы можете управлять тем, к какому объекту this
относится, используя функции apply()
или call()
. (иногда очень удобная функция)
var bar1 = new function() {
this.value = '#1';
}
var bar2 = new function() {
this.value = '#2';
}
function foo() {
alert(this.value);
}
foo.call(bar1); // Output: #1
foo.apply(bar2, []); // Output: #2