Цитата:
|
зачем в self записываем this ?
|
Дело в том this не привязан к какому либо конкретному объекты. Его значение зависит от контекста вызова.
var MyObj = new (function () {
var self = this;
this.myVariable = '12345';
return {
func1: function () {
return self.myVariable;
},
func2: function () {
return this.myVariable;
}
};
})();
MyObj.func1(); // "12345"
MyObj.func2(); // undefined
Т.е. var self = this; обычно используется для сохранения ссылки на контекст (объект вызова).