테스트 사이트 - 개발 중인 베타 버전입니다

jquery 분석중인데, 이해 안되는 점.. 채택완료

훈련소장 5년 전 조회 1,958

실행 예 : https://dbushell.com/Nestable/">https://dbushell.com/Nestable/

소스 : https://github.com/dbushell/Nestable">https://github.com/dbushell/Nestable

 

소스중에 js 파일 분석중인데 이해가 안가는 부분이 있습니다.

https://github.com/dbushell/Nestable/blob/master/jquery.nestable.js">https://github.com/dbushell/Nestable/blob/master/jquery.nestable.js

 

여기 보시면 5번째줄

 

;(function($, window, document, undefined)

 

이렇게 되있는데, 처음에 ; 세미콜론은 왜 있는건지 모르겠습니다..

 

 

그리고, 

전체 코드가

;(function($, window, document, undefined)

{

...............................................................................

})(window.jQuery || window.Zepto, window, document);

 

 

이런 구조로 되어 있는데, 구조를 잘 모르겠습니다..

 

window.jQuery || window.Zepto, window, document 이부분은 무언지요..???...

 

콜백함수인가요?? 

 

 

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
5년 전

(function(a,b,c){

....

})(arg1,arg2,arg3);

"익명함수를 즉시 실행" 정도로 보시면 됩니다.

처음 괄호안의 함수를 바로 실행하는 거죠.

괄호 안의 함수에 전달되는 매개변수를 두번째 괄호로 전달.  보통 함수 호출할때 이렇게 하잔아요 

function myfunc(a,b,c){ ... }    <= 함수선언

myfunc(10,20,30);                <= 함수호출

---------

(function(a,b,c){ ... })(10,20,30)  <= 이름없는 함수를 선언하고 바로호출(실행)

사용하는 이유가 몇가지 있는데

아래 사이트에 설명이 잘 되어있습니다.

https://findawayer.tistory.com/entry/IIE%EC%9D%98-%EC%9D%98%EB%AF%B8%EB%8A%94">https://findawayer.tistory.com/entry/IIE%EC%9D%98-%EC%9D%98%EB%AF%B8%EB%8A%94

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

훈련소장
5년 전
이해가 잘 되었습니다.
감사합니다

댓글을 작성하려면 로그인이 필요합니다.

강삼
5년 전

오타같은데요. .js 파일이라 include 시키지도 않았을 것이고.

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인