Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2011, 18:15
Аспирант
Отправить личное сообщение для Gamestop Посмотреть профиль Найти все сообщения от Gamestop
 
Регистрация: 25.05.2011
Сообщений: 93

вопрос про создание переменной
Люди я вот в примерах и во фреймворках вижу такую вещь

var a = ( function() {

ну и тут какой-нибудь код

})

я понимаю если напишут вот так

var b = {} - создаётся обьект

а первый пример что значит?

что если я напишу вот так

var a = function() {

код

}

в чём-же разница, несмог найти ответ на этот вопрос, словарный запас короткий
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2011, 18:37
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Не так пишут, а вот так:
var a = (function() {
    // ну и тут какой-нибудь код
    return foo; // что-то, например функцию;
})();


С помощью такой конструкции можно объявить замыкание и сразу его запустить. Обычно это делается с целью ограничить внутреннюю область видимости в части скрипта, например для задания псевдо-приватных свойств объекта. Первые скобки просто оборачивают выражение функции, как можно обернуть (3+4) выражение, а вторые скобки вызывают это замыкание без параметров.

Последний раз редактировалось Андрей Параничев, 04.09.2011 в 18:39.
Ответить с цитированием
  #3 (permalink)  
Старый 04.09.2011, 21:48
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

т.к. это Function Expression, можно и так:
var a = function(foo) {
    alert(foo);
}(1); //arguments assignment and calling


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

аналогично, можно вызвать фабрику, вообще без "скобок"
var a = new function() {
    alert(1);
};

Последний раз редактировалось monolithed, 04.09.2011 в 21:53.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос про возможности JS для рисования и анимации macdack Библиотеки/Тулкиты/Фреймворки 3 15.07.2011 00:13
Вопрос: И опять про offsetLeft... sigurd Общие вопросы Javascript 11 04.10.2010 14:06
Вопрос про ООП, цепочки прототипов. Shaci Общие вопросы Javascript 5 27.01.2010 14:50
вопрос про <select> Krondor Общие вопросы Javascript 2 25.11.2009 17:04
Вопрос про отправку данных методом Post QQQ AJAX и COMET 1 15.07.2009 23:27