이 구문의 의미는 다음과 같습니다(function(){})()
:
인용문
설명하는 방법
모두가 이 작성 방법을 기억해야 합니다
var a=function(){}
그런 다음 a를 실행하는 방법
그 다음은 a()
입니다. 같은 원리
변수 a를 통해 저장하지 않으니 어떻게 작성하나요
function(){}()입니다
그런데 이게 틀렸다는 걸 알게 될 겁니다
왜냐면 파싱엔진이 파싱을 해보니 함수가 종료
되고 함수가 블록으로 실행되지 않은 것으로 판단이 되어서
그러다가 ()를 추가하면 강제로 펑션블록이 블록으로 사용되게 되더라고요.
by flashsoft
Reference
는 함수 리터럴이라고 불러야 합니다.
function f(x) {return x*x;}
var f=function(x) {return x*x;} ----이렇게 정의된 함수를 함수 리터럴이라고 합니다. 는 함수를 정의하는 방법입니다. 진술이라기보다는 표현이다. 이 함수는 익명 함수입니다. f는 함수 이름이 아닌 함수에 대한 참조일 뿐입니다.
함수 리터럴은 변수에 저장되거나 다른 함수에 전달되거나 "직접 호출"될 수도 있습니다.
var t=(function(x) {return x*x;})(10);//함수를 정의하고 이 함수를 호출합니다.
---------위 인용문은 lyxscn
인용 <script> <BR>(function(){ <BR>document.write("some script code"); <BR>})() <BR></script>의 "The Definitive Guide to JavaScript"에서 발췌한 것입니다. 익명 클래스, 함수 정의 및 실행 <script> <BR><!-- <BR>var a=(function(s){return s})("abc"); <BR>alert(a); <BR>var b=function(s){return s}; <BR>alert(b("abc")); <BR>//--> <BR></script>