Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2013, 15:51
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

Проброс локальной функции в чужой класс?..
Создаю класс с таким набором аргументов:
function myClass (param1, param2, foo){
.....

this.myfoo = foo;
...
}


последний параметр - указатель на функцию, которая определена за пределами класса и не лежит в глобальной области видимости и передается в класс при его инициализации:
var cls = new myClass(a,b,someFoo);


Вопрос - сработает ли такой код для вызова этой функции через метод класса? Вот так вот:
myClass.prototype.somemethod(p1,p2) {
this.myfoo(p1,p2);
};


или нужно вызывать эту функцию через call?..
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2013, 16:28
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

сработает. this в функции будет указывать на экземпляр
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2013, 17:09
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

спасибо, буду пробовать.
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2013, 17:51
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

В теле функции SomeFoo используется параметр this? Если нет, то этот код сработает, функцию можно вызывать без call.

P.S. Опоздал
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
аналог функции file_get_contents для локальной машины lord2kim Internet Explorer 3 27.11.2011 14:22
JS классы - как объединить функции в класс olga153b Events/DOM/Window 3 01.11.2011 14:13
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21