2016-02-28 3 views
2

Я учусь шаблон модуля в Javascript и наткнулся эти два способов для создания модуля:синтаксиса для шаблона модуля в Javascript

var Module = (function() { 
    // code 
})(); 

var Module = (function() { 
// code 
}()); 

есть существенная разница в этих двух подходах? если нет, что считается лучшей практикой? Благодарю.

+1

Нет, нет. Это дубликат, я найду более раннюю версию. –

+0

В этом случае нет никакой разницы. Что касается модулей, вы можете прочитать о commonjs и amd. Как пример, я советую посмотреть машинопись, код, который будет сгенерирован, может быть использован для формирования идеи структуры модуля – Pyfhon

+0

Спасибо @ T.J.Crowder за то, что вы нашли правильный ответ. Это отвечает на мой вопрос. – akshayKhot

ответ

0

Оба одинаковые. Внешние круглые скобки вынуждают внутренний код оцениваться как выражение. Это означает, что в обоих случаях код функции также рассматривается как выражение функции. И тогда эта функция немедленно выполняется из-за() скобок.

Таким образом, он должен быть точно таким же с точки зрения списка пересылки JS-интерпретатора: 1) получить выражение функции, 2) выполнить его сразу.

Это только отличается от эстетической точки зрения - в каком направлении это выглядит более естественным для вас.

+0

Благодарим вас за ответ. Это помогает. – akshayKhot

Смежные вопросы