Почему ведущая точка с запятой в JQuery ui.core.js? - PullRequest
3 голосов
/ 27 июня 2009

Я нашел начало кода ui.core.js из JQuery UI довольно интересным,

;jQuery.ui || (function($) {
// code...
})(jQuery);

Какова причина иметь ';' впереди?

1 Ответ

9 голосов
/ 27 июня 2009

Он существует для целей конкатенации, если кто-то захочет объединить этот файл в конце другого скрипта. Он эффективно защищает конкатенацию от сценариев, которые не были правильно завершены точкой с запятой.

Итак, учитывая следующий скрипт:

alotOfJsCode(argument);
var fileEnd = noSemiColon

Точка с запятой в начале позволяет предотвратить это:

alotOfJsCode(argument);
var fileEnd = noSemiColonjQuery.ui || (function($) { //...

Что может привести к сбою кода.

В JavaScript точка с запятой сама по себе не имеет синтаксического значения. Следующие два утверждения одинаковы:

//Statement 1
;;; ;; ; alert('hello world!'); ;;; ;; ;;

//Statement 2
alert('hello world!');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...