Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.04.2011, 21:32
Новичок на форуме
Отправить личное сообщение для ruzzx Посмотреть профиль Найти все сообщения от ruzzx
 
Регистрация: 05.04.2011
Сообщений: 2

Разница между (function(){})() и (function(){}())
Какая разница между:
(function(param){
…
})(arg)

и
(function(param){
…
}(arg))

?
Ответить с цитированием
  #2 (permalink)  
Старый 17.04.2011, 21:35
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Никакой.
Ответить с цитированием
  #3 (permalink)  
Старый 17.04.2011, 22:09
Аватар для can3p
Аспирант
Отправить личное сообщение для can3p Посмотреть профиль Найти все сообщения от can3p
 
Регистрация: 02.11.2009
Сообщений: 40

Я бы поправил. Разница есть, но она несущественна. Скобки нужны для того, чтобы функция интерпретировалась как выражение, и благодаря этому сразу выполнялась.

В первом случае выполняется выражение в скобках - получаем функцию, сразу применяем ей аргументы - выполняем.
Во втором случае вызов функции происходит уже внутри скобок
Ответить с цитированием
  #4 (permalink)  
Старый 17.04.2011, 22:24
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от can3p
В первом случае выполняется выражение в скобках - получаем функцию, сразу применяем ей аргументы - выполняем.
Во втором случае вызов функции происходит уже внутри скобок
Ну и в чём разница?
Ответить с цитированием
  #5 (permalink)  
Старый 17.04.2011, 22:35
Аватар для can3p
Аспирант
Отправить личное сообщение для can3p Посмотреть профиль Найти все сообщения от can3p
 
Регистрация: 02.11.2009
Сообщений: 40

В значении выражения в скобках. Как и написал, в этом случае несущественно
Ответить с цитированием
  #6 (permalink)  
Старый 17.04.2011, 22:46
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от can3p
В первом случае выполняется выражение в скобках - получаем функцию
Выражения в скобках не выполняются.
alert(typeof (undefinedVariable))
alert(typeof (undefinedVariable, undefinedVariable))
Ответить с цитированием
  #7 (permalink)  
Старый 17.04.2011, 22:51
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от ruzzx
Какая разница
На самом деле, разница носит лишь формальный характер:
var foo = ({
    foo: function() {
        return 'foo';
    }
}).foo();

alert(foo);
var foo = ({
    foo: function() {
        return 'foo';
    }
}.foo());

alert(foo);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
$('my').load(); Как сделать, чтобы это заработало mycoding Общие вопросы Javascript 25 02.10.2016 23:43
Разница между датами Amour Общие вопросы Javascript 4 29.03.2011 21:01
Разница между frameset & iframes morg4n Events/DOM/Window 2 14.08.2010 23:37
Свойства посредством полиморфных функций tenshi Ваши сайты и скрипты 0 18.03.2010 17:12
хитросплетения Global,контекст,this,Reference kefi Общие вопросы Javascript 109 20.11.2009 23:34