вопрос про создание переменной
Люди я вот в примерах и во фреймворках вижу такую вещь
var a = ( function() { ну и тут какой-нибудь код }) я понимаю если напишут вот так var b = {} - создаётся обьект а первый пример что значит? что если я напишу вот так var a = function() { код } в чём-же разница, несмог найти ответ на этот вопрос, словарный запас короткий |
Не так пишут, а вот так:
var a = (function() {
// ну и тут какой-нибудь код
return foo; // что-то, например функцию;
})();
С помощью такой конструкции можно объявить замыкание и сразу его запустить. Обычно это делается с целью ограничить внутреннюю область видимости в части скрипта, например для задания псевдо-приватных свойств объекта. Первые скобки просто оборачивают выражение функции, как можно обернуть (3+4) выражение, а вторые скобки вызывают это замыкание без параметров. |
т.к. это Function Expression, можно и так:
var a = function(foo) {
alert(foo);
}(1); //arguments assignment and calling
а, оператор группировки примяют либо по незнанию, что можно и без него, либо для ясности. аналогично, можно вызвать фабрику, вообще без "скобок"
var a = new function() {
alert(1);
};
|
| Часовой пояс GMT +3, время: 00:23. |