Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.04.2010, 11:38
Кандидат Javascript-наук
Отправить личное сообщение для Jurasmi Посмотреть профиль Найти все сообщения от Jurasmi
 
Регистрация: 25.11.2008
Сообщений: 115

Переменная как значение функции.
Прошу прощения, никак не соображу как это можно сделать "изящно":

Надо переменной присвоить результат выполнения функции - число.

Делаю двумя способами:

1 способ

var myFuncVal = function(){
    ...
    return x
}
	
console.log(myFuncVal());


В этом способе мне "не нравятся" скобки при вызове функции (но это и не удивительно - вызываю ведь функцию).
Нравится - то, что переменная описывается в одном месте, а не разнесена по разным кода.

2 способ

var myVar= myFunc();
	
function myFunc(){
    ...
    return x;
}

console.log(myVar);


Здесь мне нравится - что myVar вызывается без скобок.
Не нравится - переменная "описывается в двух местах" + появляется ненужное имя функции myFunc, которое нигде не используется.

Вопрос: как можно объединить эти два подхода (или есть третий, четвёртый, ...) и совместить их плюсы и отбросить минусы?

Может, конечно, мой вопрос содержит только бред и вообще не имеет никакого смысла, но уж снизойдите и втолкуйте мне "что к чему".
Ответить с цитированием
  #2 (permalink)  
Старый 22.04.2010, 12:01
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

Что значит "описывается в двух местах"? Переменная может быть "описана" (инициализирована) только один раз - при помощи var. Все остальное - это уже ее использование. И если вам надо присвоить переменной результат выполнения какой-то функции, то приведенный вами второй вариант как раз чаще всего и используется.
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #3 (permalink)  
Старый 22.04.2010, 12:11
Кандидат Javascript-наук
Отправить личное сообщение для Jurasmi Посмотреть профиль Найти все сообщения от Jurasmi
 
Регистрация: 25.11.2008
Сообщений: 115

Мне нужно только значение переменной myVar и не нужна "фикивная" функция myFunc(), как можно от неё избавится или хотя бы от её имени? Можно сделать её "анонимной" (мне кажется лишним - придумывать имя для "фиктивной" функции).
Ответить с цитированием
  #4 (permalink)  
Старый 22.04.2010, 12:15
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Jurasmi
Здесь мне нравится - что myVar вызывается без скобок.
Оно не вызывается, оно до этого уже было вызвана. Со скобками, как положено. У вас скобкофобия?
Ответить с цитированием
  #5 (permalink)  
Старый 22.04.2010, 12:18
Кандидат Javascript-наук
Отправить личное сообщение для Jurasmi Посмотреть профиль Найти все сообщения от Jurasmi
 
Регистрация: 25.11.2008
Сообщений: 115

Уфф, отлегло! Теперь я знаю как "это" называется - "скобкофобия"! Спасибо, доктор, вы так мне помогли.
Ответить с цитированием
  #6 (permalink)  
Старый 22.04.2010, 12:22
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

что курит автор ?
Ответить с цитированием
  #7 (permalink)  
Старый 22.04.2010, 12:26
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Да будет свет!

var someVar = (function(){
   //...
   return result;
}());
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #8 (permalink)  
Старый 22.04.2010, 12:45
Кандидат Javascript-наук
Отправить личное сообщение для Jurasmi Посмотреть профиль Найти все сообщения от Jurasmi
 
Регистрация: 25.11.2008
Сообщений: 115

Вот оно! Спасибо большое!
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глобальная переменная, считать правильнае значение в функции konstantinopol Общие вопросы Javascript 11 01.05.2010 23:28
как передовать и парсить значение переменной по URL? FATALITY Общие вопросы Javascript 10 25.03.2010 19:32
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03
Как вывести на экран значение функции SELECT MAX(id) Владдд Серверные языки и технологии 3 25.01.2009 16:07
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25