2011-09-28 2 views
1

:실제로이 자바 스크립트 스 니펫은 무슨 뜻입니까? <a href="http://html5boilerplate.com/mobile" rel="nofollow">HTML5 Mobile Boilerplate's</a> helper.js에서

(function(document){ 
    //all stuff here 
})(document); 

이것이 조각 할 않거나 때 실행합니까?

+0

BTW, 내가 묻고 싶은 모든 경우에 다른 제목을 찾기 힘들었다 '이 코드는 뜻 이죠 뭐?'. 나는 '코드'를 '스 니펫'으로 변경 한 다음 '실제로'를 추가해야했기 때문에 이것을 게시 할 수있었습니다. – keune

답변

1

임시 익명 함수를 만들고 document라는 인수로 호출합니다. 아마 그것은 enclosing scope로부터 숨어있는 지역 변수들을 가지고있을 것입니다.

1

이것은 브라우저가 페이지를 구문 분석하는 동안 브라우저에서 즉시 실행되는 javascript 기능입니다. 이 함수는 하나의 매개 변수를 취합니다.이 매개 변수는 window.document 속성입니다 (함수의 맨 아래에 전달 된 것과 같습니다).

3

이것은 클로저입니다.이 메서드는 인수 document을 사용하여 즉시 document .. 매개 변수가 평가 끝났어 그것은 즉시 실행

- 그래서 기본적으로 바로

1

당신이 말한다면 : 즉시 함수를 호출하고를 전달

(function(var1){/*stuff*/})(var2) 

을을 참조하십시오. 함수는 익명이며 직접 호출 할 수 없습니다. 현재 자바 스크립트에서 일반 및 익명 함수에 대한 익명 함수를 읽을 수 있습니다 :

http://en.wikipedia.org/wiki/Anonymous_function#JavaScript

관련 문제