인가가 자바 스크립트 모듈 간의 차이 :자바 스크립트 모듈 패턴 구현
(function(){}())
크록 포드에 의해
(function(){})()
책 "좋은 부분"에서 먼저
대. 두 번째는 Typescript로 생성 된 코드입니다.인가가 자바 스크립트 모듈 간의 차이 :자바 스크립트 모듈 패턴 구현
(function(){}())
크록 포드에 의해
(function(){})()
책 "좋은 부분"에서 먼저
대. 두 번째는 Typescript로 생성 된 코드입니다.아니요,이 두 함수와 호출 방법에는 차이가 없습니다. 두 경우 모두 익명의 함수를 생성하고 즉시 실행합니다.
은 "외부"괄호가 필요한 유일한 이유는 자바 스크립트 파서가 문을 볼 것으로 예상 될 때이 function
를 보는 경우,이 함수 선언 될 것입니다 다음 무엇을 가정한다는 것이다. 그러나 우리는 함수 의 표현식을으로하고 싶습니다. 그래서 처음에 (
을 주면 표현식을 기대하는 상태가됩니다.
그러나 ()
이 함수를 호출하는 곳 (}
또는 바깥 쪽)은 아무런 차이가 없습니다.
아니요 차이가 없습니다. 둘 다 동일하게 작동합니다. 나는 후자를 사용하는 경향이있다. 그것은 단지 더 이해하기 쉬운 것처럼 보인다. (function(){})
은 함수를 정의한 다음 ()
으로 호출합니다. 두 경우 모두 첫 번째 (
앞에 (선행) 세미콜론을 사용하십시오. Reference
다른 것은 없습니다. 함수가 어떤 값도 반환하지 않는 경우 세 번째 옵션을 쓸 수 있습니다.
!function(){}()
디자인 패턴과의 관계는 어떻습니까? – thefourtheye
정확한 복제 [익명 JavaScript 함수 자동 실행을위한 괄호 위치] (http://stackoverflow.com/questions/3384504/location-of-parenthesis-for-auto-executing-anonymous-javascript-functions) 및 [(...()) 대 (...)() in javascript closures] (https://stackoverflow.com/questions/8774425/vs-in-javascript-closures) – Bergi
모듈 패턴이 디자인 패턴이라고 생각했습니다. 그) – user1407492