Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Возвращение значения из функции (https://javascript.ru/forum/events/5320-vozvrashhenie-znacheniya-iz-funkcii.html)

dba 04.10.2009 18:35

Возвращение значения из функции
 
var value=foo();

function foo(){
function foo2(){
return "somevalue"; //внимание
}
foo2();
}

/*
Собственно, надеюсь, вы понимаете о чём речь. Нужно из функции, объявленной в функции, то есть из функции foo.foo2() заставить функцию foo() вернуть значение, и соответственно, завершиться

Долблюсь уж несколько дней - не понимаю :blink:
СПАСАЙТЕ!!
*/

Dmitry A. Soshnikov 04.10.2009 18:58

return foo2();

Gvozd 04.10.2009 19:03

так что ли?
var value=foo();

function foo(){
function foo2(){
return "somevalue"; //внимание
}
return foo2();
}

dba 04.10.2009 19:11

Охты, точно

Но тут всё сложнее

function foo(){
  sthElem.onclick=function(){
    foo.retval();
  }

  function retval(){
    return "somevalue"; //Во-во, вот так
  }
}
var value=foo();


Не спрашивайте, почему код такой тупой, это просто упрощённый вариант

dba 04.10.2009 19:36

131 просмотр.... НУ ПОЖАЛУЙСТА
КТОНИБУДЬОТВЕТТЬЕ

Kolyaj 04.10.2009 20:11

Во-первых, у foo нет свойства retval. Во-вторых, что вообще получиться-то должно?

dba 04.10.2009 20:52

Опс
Сорри
Ступил
Во

function foo(){
  sthElem.onclick=function(){
    foo.retval();
  }
 
  foo.retval=function(){
    return "somevalue"; //Во-во, вот так
  }
}
var value=foo();


>> Во-вторых, что вообще получиться-то должно?

Какое это имеет отношение к вопросу? Я задаю конкретный вопрос, надеясь получить конкретный ответ: "ты тупой, надо делать так и так"
Мне не нужны советы по проекту, мне нужен определённый, причём правильный, без флуда ответ

Kolyaj 04.10.2009 21:13

Цитата:

Сообщение от dba
Мне не нужны советы по проекту, мне нужен определённый, причём правильный, без флуда ответ

Понятно, жди.

dba 04.10.2009 21:18

Ээх, приходится....

Gvozd 04.10.2009 21:27

у вас тут в логике явный пробел.у вас выходит так:
1)вызываем функцию foo()
2)в ней выставляем обработчик события(который сработает позже, либо возможно никогда)
3)внутри обработчика события(который будет выполнен в будущем) инициируется переменная, которую мы ходим присвоить другой переменной сейчас
наглядная аналогия:
вы сказали своему 20-летнему сыну, чтобы ему пора женится(у него сейчас даже девушки нету), и пошли сразу же после разговора вклеивать в семейный альбом фотографию со свадьбы своего сына

в общем, вам надо пересмотреть свою логику приложения

поэтому у вас и спрашивают, что должно получится в итоге
пока что ваши махинации выглядят весьма непонятно и бессмысленно


Часовой пояс GMT +3, время: 04:46.