Какова цель запуска точки с запятой в начале JavaScript? [дубликат]
Возможные Дубликаты:
что делает ведущая точка с запятой в библиотеках JavaScript?
Я заметил, что многие плагины jQuery начинаются с
;(function(){ /* something in here */ })();
мне просто интересно, что такое начальная точка с запятой, а также пустые скобки в конце.
2 ответа:
точка с запятой есть в случае, если вы включаете этот скрипт сразу после некоторого "плохого" сценария, который не закрывает свою последнюю строку с запятой. В этом случае возможно, что два сценария будут объединены и приведут к недопустимому коду. Например, если вы объединяете несколько сценариев в один ответ.
() в конце выполняет функцию. Это создает закрытие. Частные переменные и методы могут быть объявлены в рамках этой функции невозможно получить доступ извне скрипта.
такая конструкция :
(function(){ /* something in here */ })()
используется для создания новой области в JavaScript.
дополнительная информация о области действия здесь.
Что касается точки с запятой, я никогда не видел ее раньше. Я думаю, что это безопасность, когда вы объединяете несколько сценариев, так как точки с запятой в некоторых случаях необязательны в конце файла.