1
우리는 두 가지 방법으로 즉시 함수를 호출 할 수 있습니다. 나는 다음과 같은자체 실행 기능과 IIFE 간의 차이
var foo = function(){
return { };
}();
이의 차이점이 무엇인지에 대한 혼란 스러워요 :
var foo = (function(){
return { };
}());
우리는 두 가지 방법으로 즉시 함수를 호출 할 수 있습니다. 나는 다음과 같은자체 실행 기능과 IIFE 간의 차이
var foo = function(){
return { };
}();
이의 차이점이 무엇인지에 대한 혼란 스러워요 :
var foo = (function(){
return { };
}());
정확히 같은.
// This one creates a function expression, then executes that function expression.
var foo = function(){
return { };
}();
// This one creates a function expression, inside of a set of parens.
// the parens hold an expression.
var foo = (function(){
return { };
}());
괄호는 두 가지 이유로 사용됩니다
1) 이러한 맥락에서, 그들은 당신이 인생을 가지고 아닌 컴파일러, 독자에게 단서입니다.
2) 다른 문맥에서는 함수 문장을 생성 할 수있을 때 parens가 표현식을 강제합니다.
// The parens here force an expression, which means it forces a function expression
// instead of a function statement.
(function() {....})
덕분에 ... 지금 내 생각은 분명합니다. :) –