вопрос про создание переменной
Люди я вот в примерах и во фреймворках вижу такую вещь
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, время: 19:24. |