2013-07-09 9 views
1

lodash library line에서 첫 번째 줄에는 왜 방어적인 세미콜론이 있습니까? 나는 최근에 방어 세미콜론에 대한 확실한 자바 스크립트를 읽어왜이 방어적인 세미콜론이 사용됩니까?

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

제대로 세미콜론을 사용하지 않는 사용자로부터 보호하는 데 사용되는,하지만 위의 코드가 없기 때문에, 나는 지점을 표시하지 않습니다. 라이브러리가 다른 라이브러리의 끝에 연결되어있는 경우에 해당합니까?

+2

당신의 질문의 일환으로 코드를 표시하는 것이 바람직하다 . –

+0

간단한 질문이 귀하의 질문에 대한 답변입니다. :-) – Mario

+1

가능한 복제본 [JavaScript 라이브러리의 주요 세미콜론은 무엇을합니까?] (http://stackoverflow.com/questions/1873983/what-does-the-leading-semicolon-in-javascript-libraries-do) – freejosh

답변

6

javascript 압축기/minifier를 사용하고 이전 플러그인의 끝에 ;이없는 경우 문제가 발생할 수 있습니다. 따라서 예방 차원에서 ;이 추가되었습니다.

또한 안전하게 복수의 자바 스크립트 파일을 추가하여 HTTP 요청으로 제공 할 수 있습니다. 세미콜론은 또한이 이전 문장의 연속으로 해석되지 않도록하는 데 사용되는