Показать сообщение отдельно
  #5 (permalink)  
Старый 24.08.2013, 18:11
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
зачем в 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; обычно используется для сохранения ссылки на контекст (объект вызова).
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием