Что за синтаксис
Подскажите, пожалуйста, что это за синтаксис, когда строка начинается со скобки, внутри код, а после закрывающейся скобки еще две скобки? Например, как у Google Analitycs
(function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); |
На этом форуме десяток подобных вопросов.
|
Куда тыкнуться, что искать?
|
Arkasha69,
Создается безымянная функция, ссылка на которую никуда не сохраняется. И тут же вызывается (скобки в конце), делают так, например, чтобы выделить локальную область переменных ( function(){ var a = "hello"; alert(a); }() ); //или выделить конкретный какой-то контекст, для удобства ( function(){ alert(this); }.call(document) ); В данном случае скобки вокруг нужны, чтобы выделить выражение, чтобы не произошло объявление именной функции которое начинается со слова function, потом идет имя и т.д., которое в свою очередь вызовет ошибку, так как имени нет. в общем счете это то же что и var a = function(){ var a = "hello"; alert(a); } a(); только ссылка на эту функцию не сохраняется http://javascript.ru/basic/functions |
Спасибо. Пошел "рости" дальше.
|
Часовой пояс GMT +3, время: 18:39. |