Переменная как значение функции.
Прошу прощения, никак не соображу как это можно сделать "изящно":
Надо переменной присвоить результат выполнения функции - число. Делаю двумя способами: 1 способ var myFuncVal = function(){ ... return x } console.log(myFuncVal()); В этом способе мне "не нравятся" скобки при вызове функции (но это и не удивительно - вызываю ведь функцию). Нравится - то, что переменная описывается в одном месте, а не разнесена по разным кода. 2 способ var myVar= myFunc(); function myFunc(){ ... return x; } console.log(myVar); Здесь мне нравится - что myVar вызывается без скобок. Не нравится - переменная "описывается в двух местах" + появляется ненужное имя функции myFunc, которое нигде не используется. Вопрос: как можно объединить эти два подхода (или есть третий, четвёртый, ...) и совместить их плюсы и отбросить минусы? Может, конечно, мой вопрос содержит только бред и вообще не имеет никакого смысла, но уж снизойдите и втолкуйте мне "что к чему". |
Что значит "описывается в двух местах"? Переменная может быть "описана" (инициализирована) только один раз - при помощи var. Все остальное - это уже ее использование. И если вам надо присвоить переменной результат выполнения какой-то функции, то приведенный вами второй вариант как раз чаще всего и используется.
|
Мне нужно только значение переменной myVar и не нужна "фикивная" функция myFunc(), как можно от неё избавится или хотя бы от её имени? Можно сделать её "анонимной" (мне кажется лишним - придумывать имя для "фиктивной" функции).
|
Цитата:
|
Уфф, отлегло! Теперь я знаю как "это" называется - "скобкофобия"! Спасибо, доктор, вы так мне помогли.
|
что курит автор ?
|
Да будет свет!
var someVar = (function(){ //... return result; }()); |
Вот оно! Спасибо большое!
|
Часовой пояс GMT +3, время: 14:12. |