Зачем такая синтаксическая конструкция?
Часто вижу в коде делают так:
;(function() { 'use strict'; })(); Зачем перед анонимной функцией ставят ; ? нигде в книгах об этом не нашел. |
чтобы не засорять глобальное пространство
|
Цитата:
|
Цитата:
А если в другом коде в конце будет ; в конце код будет сломан или как? |
var a = 2 + 5 alert(a) прошедший обфускацию var a=2+5alert(a) Если "сливать" в один несколько js файлов сжатых, то могут возникать подобные ошибки, поэтому и предваряют их ; |
Начинающий-Js-кодер, гипотетически этот код может быть склеен с другим в один файл. Опять же гипотетически в том файле в последней строчке может не стоять ";". Тогда скобки могут бы интерпретированы как вызов функции:
var getBindedAlert = function(msg){ return alert.bind(window, 'Внезапно: ' + msg); } (function() { 'use strict'; })(); var getBindedAlert = function(msg){ return alert.bind(window, 'Внезапно: ' + msg); } ;(function() { 'use strict'; })(); ...upd: laimas, обфускаторы обычно как раз нормально разруливают такое. |
Цитата:
|
Понял. Спасибо всем.
|
Часовой пояс GMT +3, время: 18:15. |