0
가능한 중복 :왜 자바 스크립트로 호출하기 전에 익명 함수를 괄호로 묶어야합니까?
을 : 나는 다음과 같이 호출 할 수 있습니다 전에 괄호 안에 익명의 기능을 래핑하는 이유
Why this kind of function invocation is wrong in JavaScript?
Is there any reason to wrap anonymous JavaScript functions in braces?
이 좋은 설명이 있나요
(function() { alert('foo'); })();
대신
function() { alert('foo'); }();
?
Clojure와 같이 함수를 전달할 수있는 다른 언어가 있습니다. Clojure에서 함수 호출은 (function args)와 같이 보입니다. 예 : (+ 1 2). ((fn [a b] (+ a b)) 1 2) 일반적으로 명명 된 함수를 사용하는 곳이라면 익명의 함수로 대체 할 수 있습니다. Javascript에서는 이것이 아닌 것처럼 보입니다.
심지어는'(function() {foo ') ;;});' –
알다시피, 괄호 외에도 익명의 함수 표현식을 만드는 많은 방법이 있습니다. 예를 들어'+ function() {alert ('foo'); }();'. 괄호를 사용하면 특정 문제가 발생할 수 있습니다. –
가장 간단한 방법은 (아마도 최악의 경우) 설명 할 수 있습니다. 함수가 객체이고 반대의 경우도 마찬가지이므로 함수 주위에 대괄호를 추가하면 객체가 정의에서 벗어납니다. – Bakudan