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

jQuery PLUGIN 질문입니다. 채택완료

amkorjquery 7년 전 조회 2,409

</p>

<p><script></p>

<p> </p>

<p>// 소스 순서 1번</p>

<p>$name.set({</p>

<p>  value : '안녕'; </p>

<p>});</p>

<p> </p>

<p>(function() {</p>

<p> </p>

<p>    function PLUGIN(o, d){</p>

<p>       // 소스 순서 3번

        var obj = $(this);

        obj.data('setInput', (data = new input(obj, o))); // 소스 순서 4번

        return this;

    }</p>

<p> </p>

<p> </p>

<p>    $.fn.set = PLUGIN;  // 소스 순서 2번</p>

<p> </p>

<p>    var input = function(el, o){</p>

<p>      // 소스 순서 5번</p>

<p>    }</p>

<p> </p>

<p>

})();</p>

<p>

 

 

 

jQuery PLUGIN 이용해서 PLUGIN 메소스를 호출하는 과정입니다.

 

소스 순서는 주석으로 처리하였습니다.

 

문제는 소스순서 4번이 어떻게 소스순서 5번으로 움직이는건데요.

 

소스순서 4번을 보시면

 

obj.data('setInput', (data = new input(obj, o)));

 

obj의 노드를 data 속성 setInput을 (data = new input(obj, o))로 지정하는의미인데

 

왜 이것이  익명함수 input 을 호출하는건가요?

 

생성자 input을 new 로 하기때문에 호출하는건가요?

 

 

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

답변 1개

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

input()이 함수 방식의 클래스로 선언되었겠죠.

모르긴해도 그 함수 안에

this.프로퍼티 = 초기값;

this.메서드 = function(){} 등으로 되어 있을 것으로 보입니다.

 

new키워드로 객체를 생성하면서 생성자를 호출하므로 그렇게 되었겠죠.

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

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

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

로그인