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