소년코딩

jQuery 소스 코드의 전체 구조를 살펴보자.

오픈소스를 제대로 분석하려면 무엇보다 전체적인 구조를 파악해야 한다.


3. jQuery.protytpe

모든 함수 객체는 prototype 프로퍼티가 있다.

protytpe 프로퍼티가 가리키는 프로토 타입 객체는 함수가 생성자로 동작할 때, 새로 생성되는 객체의 부모 같은 역할을 한다.


즉, jQuery( ) 함수 역시 생성자로 동작하므로 이러한 형태가 될 것이다.

jquery

jQuery 객체는 [[Prototype]] 링크로 자신의 프로타입인 jQuery.prototype 객체에 접근이 가능하다.

 

1) 변경된 프로토타입 객체 

jQuery.prototype 디폴트 객체를 객체 리터럴 형식의 다른 객체로 변경하고,

이 변경된 jQuery의 프로토타입을 jQuery.fn 프로퍼티가 참조하게 한다.

(Code Line: 89 ~ 172)
jQuery.fn = jQuery.prototype = {
        
        jquery: version,
 
        constructor: jQuery,
 
        
        selector: "",
 
        length: 0,
 
        toArray: function() {
            return slice.call( this );
        },
 
    // ... more Code
    };

jquery


(jQuery( ) 함수와 jQuery 객체, 변경된 jQuery.protytpe 객체와의 관계)


이후 jQuery 객체 인스턴스는 변경된 프로토타입 객체에 정의된 다양한 메서드 및 프로퍼티들을

 프로토타입 체이닝으로 인해 사용이 가능하다.


 

jquery

by 소년코딩

추천은 글쓴이에게 큰 도움이 됩니다.

악플보다 무서운 무플, 댓글은 블로그 운영에 큰 힘이됩니다.

댓글 로드 중…

블로그 정보

소년코딩 - 소년코딩

소년코딩, 자바스크립트, C++, 물리, 게임 코딩 이야기

최근에 게시된 이야기