채택완료

jQuery PLUGIN 질문입니다.

2018-02-27 (화) 11:05:37 2,516
Copy
<script>

 

// 소스 순서 1번

$name.set({

  value : '안녕'; 

});

 

(function() {

 

    function PLUGIN(o, d){

       // 소스 순서 3번
        var obj = $(this);
        obj.data('setInput', (data = new input(obj, o))); // 소스 순서 4번
        return this;
    }

 

 

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

 

    var input = function(el, o){

      // 소스 순서 5번

    }

 


})();

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 포인트

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

모르긴해도 그 함수 안에

this.프로퍼티 = 초기값;

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

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

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