Зачем такая синтаксическая конструкция?
Часто вижу в коде делают так:
;(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, время: 02:44. |