Корректный возврат значения функции
Имеется блок кода:
<...>
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, время: 11:22. |