2013-11-08 4 views
2

Я часто сталкиваюсь с этим:Почему существует некоторая точка с запятой перед анонимной функцией?

;(function (window) { 
    // ... 
}(window); 

Я знаю, что эта анонимная функция называется обеспечением окна в качестве области. Но почему перед ним стоит точка с запятой? Я никогда не использовал это сам.

+0

Это автоматический код? – Drahcir

+2

Если предыдущая строка не заканчивается точкой с запятой. – Andy

+0

Это то, что делают точки с запятой, разделяя выражения, убедившись, что анонимная функция не включена в предыдущее выражение. – Teemu

ответ

-1

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

Смежные вопросы