Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.09.2012, 22:13
Аспирант
Отправить личное сообщение для Jeremen Посмотреть профиль Найти все сообщения от Jeremen
 
Регистрация: 03.02.2012
Сообщений: 45

Передача this в функцию.
В учебнике есть урок "Внутренний и внешний интерфейс",
function Menu(options) {
  var elem = options.elem;
 
  this.open = function() {
    elem.addClass('menu-open');
  };
 
  this.close = function() {
    elem.removeClass('menu-open');
  };
 
  elem.on('click', '.menu-title', function() {
    if (elem.hasClass('menu-open')) {
      close();
    } else {
      open();
    }
  });
 
}

Здесь идет обращения к методам close и open без использования перед ними объекта, но анонимные же функцию разве под this видят не window? Хотя этот пример работает но я не пойму как. Объясните пожалуйста кто понимает в чём дело
Ответить с цитированием
  #2 (permalink)  
Старый 02.09.2012, 23:04
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

при вызове с "new" this меняется на текущий экземпляр.
Ответить с цитированием
  #3 (permalink)  
Старый 03.09.2012, 00:09
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Jeremen, специально для тебя

Дэвид Флэнаган:
Цитата:
За оператором new должно быть указано имя функции-конструктора. Оператор создает новый пустой объект без каких-либо свойств, а затем вызывает функцию, передавая ей только что созданный объект в виде значения ключевого слова this. Функция, применяемая совместно с оператором new, называется функцией-конструктором, или просто конструктором. Главная задача конструктора заключается в инициализации вновь созданного объекта – установке всех его свойств, которые необходимо инициализировать до того, как объект сможет использоваться программой. Чтобы определить собственный конструктор, достаточно написать функцию, добавляющую новые свойства к объекту, на который ссылается ключевое слово this.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача в функцию переменного количества аргументов Эдди Элементы интерфейса 35 09.11.2018 15:25
передача переменной в функцию timeout alfmaster Javascript под браузер 5 20.09.2011 18:40
Передача параметров с сервера в функцию mikel Events/DOM/Window 2 29.08.2011 21:18
передача имени элемента в функцию Zubik Общие вопросы Javascript 0 06.10.2009 11:00
передача динамических данных в функцию Ruah Общие вопросы Javascript 4 02.09.2009 22:04