가능한 중복 :JS : A의 차이점은 무엇입니까? 폐쇄 및() 폐쇄?
What does the exclamation mark do before the function? 그래서 난 다시 가고 있었다 그리고 몇몇 다른뿐만 아니라 내 자신의 코드의 일부 찾고 자바 스크립트 코드와 나는 잠시 동안 다시 내가 시작했을 때 실현 자바 스크립트 라이브러리 작성하기 나는 다음과 같은 모양의 클로저를 사용했다.
(function(window, document, undefined) {
// code
})(window, document);
그러나 그때 나는 어떤 부트 스트라를 보았다. 나는 (내가 경우 제발 올바른) 잘못 아니에요 경우 배치,
! function (window, document, undefined) {
// code
}(window, document);
지금 : P 코드와 나는이 구문으로 변경 '!' 내 익명의 함수 바로 앞에 '()'으로 처리 된 다음 함수에 의해 반환 된 값이 정의되지 않았는지, null이 아니거나 비어 있는지 여부를 나타내는 부울 값을 반환합니다.
궁금한 점은 '()()'구문보다 '!()'구문을 사용하는 것의 차이점이 있습니까? 불평 할 특정 브라우저가 있습니까?
의견을 보내 주셔서 감사합니다. XD
http://stackoverflow.com/questions/3755606/what-does-the-exclamation-mark-do-before-the-function을 참조하십시오. 이렇게하는 것이 기능 당 코드 크기에 여분의 바이트를 저장하는 것입니다. – Emily
굉장 해요. 그래서 효율성을 높이기 위해 1 바이트를 절약하고 얼마나 많은 클로저를 사용하는지 등을 기준으로 확대 할 것입니다. – kd3v
절약 바이트는 축소 및 gzip 압축과 비교할 때 상당히 중요합니다. –