Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как получить ссылку на объект вызова?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Pavelbeginner
Отправлено: 21 Апреля, 2013 - 20:06:14
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




Есть любая ф-ция. При вызове этой ф-ции создается объект вызова. Например:
CODE (javascript):
скопировать код в буфер обмена
  1. function test()
  2. {
  3.     var a = 10;
  4. }
  5.  
  6. test();


При вызове test() создается объект вызова, в котором, например, есть свойство a со значением 10. Как получить ссылку на этот объект вызова, чтобы иметь возможность работать со свойствами этого объекта вызова и его методами(ф-циями, объявленными внутри ф-ции test)?


Отредактировано модератором: DeepVarvar, 22 Апреля, 2013 - 00:38:20
Жабаскрипт
 
 Top
DeepVarvar Супермодератор
Отправлено: 22 Апреля, 2013 - 00:40:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Pavelbeginner пишет:
Как получить ссылку на этот объект вызова
Ну в таком контексте никак. А вот в таком:
CODE (javascript):
скопировать код в буфер обмена
  1. var test = {
  2.   a: 10,
  3.   b: 20,
  4.   c: function() {
  5.     return "zzz";
  6.   }
  7. };
все получится..
И это не единственны контекст, я показал один самый понятный с ходу.
 
 Top
Pavelbeginner
Отправлено: 22 Апреля, 2013 - 20:24:22
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 882
Дата рег-ции: Март 2010  


Помог: 1 раз(а)




DeepVarvar пишет:
И это не единственны контекст, я показал один самый понятный с ходу.
Этот вариант я рассматривал, но он плох следующим: например, нужно установить обработчик события
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.     var test = {
  3.       a: 10,
  4.       b: 20,
  5.       c: function() {
  6.         $('div').click(this.hello);
  7.       }
  8.       hello: function(){
  9. [b]          внутри этой ф-ции, когда она обработчик, this это уже не ссылка на объект test,
  10.        а объект, на котором произошло событие.[/b]
  11.      }
  12.     };
  13.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB