Корректный возврат значения функции
Имеется блок кода:
<...> someVar = someFunction(<аргументы>); <...> someFunction(<аргументы>) { var someElem = null; <где-то someElem присваивается новое значение > return someElem; } Во время выполнения кода someVar присваивается сначала null, затем выполняется функция someFunction. Мне необходимо, чтобы сначала выполнилась функция, а затем произошло присваивание возвращенного значения переменной someVar. Понимаю, что надо делать через асинхронный вызов, но не понимаю, как правильно это сделать. Подскажите, пожалуйста, как решить проблему? |
Цитата:
И не более того. |
в таком виде вообще должна вылетать ошибка: ты сначала вызываешь выполнение функции строкой someVar = someFunction();, а лишь затем даешь определение этой функции. Поменяй порядок
|
Цитата:
var a=aFnc(); alert(a); function aFnc(){return 1;}; function bFnc(){return 2;}; var b=bFnc(); alert(b); |
я удивлен... не думал о такой особенности...
<script> var a = aFnc(); function aFnc(){}; </script> Такой вариант работает... А вот такой вариант уже не пашет... <script> var a = aFnc(); </script> <script> function aFnc(){}; </script> Тогда единственным вариантом могут быть траблы в строке 11 <где-то someElem присваивается новое значение > - возможно код содержит в себе нечто, требующее полной загрузки страницы. |
Цитата:
<script> ... </script> Значит и обрабатываться будут по мере "поступления" "секций" script... |
Всю жизнь был уверен, что ПРИНЦИПИАЛЬНО сначала надо объявить, а потом использовать ... и что это не зависит ни от чего.)))
|
Цитата:
|
Приучите себя сначала определять сначала ВСЕ переменные, а под ними функции. И уже потом логику.
(function() { var test1 = {}, test2 = 'some text...', var1, var2; function moduleFunction1() { // } function moduleFunction2() { // } var1 = moduleFunction1(); var2 = moduleFunction2() })(); И будет вам счастье. |
Часовой пояс GMT +3, время: 03:27. |