Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.02.2010, 14:29
Интересующийся
Отправить личное сообщение для Vitalyk Посмотреть профиль Найти все сообщения от Vitalyk
 
Регистрация: 13.02.2010
Сообщений: 10

конструкции взаимодействия функций
Есть вложенная функция, например:
Код:
function x()
{
function y()
{alert(10);}
}
есть потребность ее вызвать (y) из другой части программы, или посредством обработчика события после завершения выполнения функции x. Посоветуйте пожалуйста, как можно решить такую задачу.
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2010, 14:33
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Зачем вы определяете эту функцию внутри другой функции, если она нужна снаружи?
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2010, 15:45
Интересующийся
Отправить личное сообщение для Vitalyk Посмотреть профиль Найти все сообщения от Vitalyk
 
Регистрация: 13.02.2010
Сообщений: 10

Дело в том, что нужна такая сложная конструкция: при выборе пользователя из select запускается функция, которая производит обработку некоторых данных, открывает формы на странице, при этом полностью не завершает свою работу, а при вводе пользователем данных в открытые формы производит их обработку и при некоторых условиях снова возвращается к началу своего выполнения, изменив значения некоторых параметров.
Ответить с цитированием
  #4 (permalink)  
Старый 15.02.2010, 17:52
Аспирант
Отправить личное сообщение для neurostep Посмотреть профиль Найти все сообщения от neurostep
 
Регистрация: 10.04.2008
Сообщений: 83

Простите, но так и не понятно до сих пор почему бы не вынести функцию y() из x()? Вы ее скрыть хотите? тогда никак.
Ответить с цитированием
  #5 (permalink)  
Старый 15.02.2010, 18:44
Интересующийся
Отправить личное сообщение для Vitalyk Посмотреть профиль Найти все сообщения от Vitalyk
 
Регистрация: 13.02.2010
Сообщений: 10

Мне нужно, как я понимаю, чтобы обработчик, например, onkeyup(), мог выполнить определенную часть кода внутри той функции, которая будет иметь циклическое повторение. А каким образом можно еще это сделать, не знаю.
Ответить с цитированием
  #6 (permalink)  
Старый 15.02.2010, 18:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Навешивайте обработчик внутри той функции.
Ответить с цитированием
  #7 (permalink)  
Старый 15.02.2010, 19:52
Интересующийся
Отправить личное сообщение для Vitalyk Посмотреть профиль Найти все сообщения от Vitalyk
 
Регистрация: 13.02.2010
Сообщений: 10

Можете пояснить, как это сделать? Что-то не врублюсь. Функция отдельно, а события происходят в форме. В моих соображениях это выглядело где-то так:
Код:
function x()
{...
function _google()
{
 x=document.getElementById('F4_2').value;
 var i=0;
 var t;
... ... }    
... }
 <form ID='F4_2'>
<input type='text' onkeydown='_clean()'; onkeyup='_google();_reset()'></form>
Ответить с цитированием
  #8 (permalink)  
Старый 15.02.2010, 20:05
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от neurostep
тогда никак.
Ну можно получить код функции x, вырезать из него код функции y, проeval'ировать ее... Ну в общем Вы поняли, какой дурацкий это способ.
Ответить с цитированием
  #9 (permalink)  
Старый 16.02.2010, 09:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Vitalyk
Можете пояснить, как это сделать?
http://javascript.ru/tutorial/events
Ответить с цитированием
  #10 (permalink)  
Старый 17.02.2010, 18:18
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Можно так:
function x()
{
function y()
{alert(10);}
arguments.callee.y = y;
}
…
x.y();

Но зачем?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цепочка функций sartas Общие вопросы Javascript 12 18.03.2011 21:33
setInterval, и замена функций SunnyDay Общие вопросы Javascript 16 29.08.2009 00:51
как сложить результаты двух(и более) функций? art-kl Элементы интерфейса 2 26.08.2009 16:56
Можно ли как для произвольного массива создавать вызовы функций , имеющих на входе kefi Общие вопросы Javascript 3 17.04.2009 16:53
подскажите с параметрами функций hadji29 Общие вопросы Javascript 2 15.02.2009 20:39