매일 조금씩 - EXT 소스 분석 5

Array에 대한 EXT의 확장을 보십시오.
우선, Array는 함수 유형입니다.
그 다음으로 구조 함수에 직접 첨가하는 속성이나 방법은 정태라고 할 수 있다. 왜냐하면 이것은 구조 함수(클래스)에 속하기 때문이다. 즉, 반드시 이렇게 방문해야 하기 때문이다.
function P(){

}
P.fn=function(){
   alert(" ");
}
P.fn();// 

 prototype , , 
function P(){
  
}
P.prototype.fn=function(){
   alert(" ");
}
var a=new P();
a.fn();


그리고 Ext.applyIf()의 역할은 첫 번째 매개 변수(대상)가 두 번째 매개 변수(대상)에 있고 자신이 없는 모든 속성을 복사하는 것입니다.
Ext.applyIf(Array.prototype, {
    indexOf : function(o){
        for (var i = 0, len = this.length; i < len; i++){
            if(this[i] == o){
                return i;// .
            }
        }
        return -1;// , -1
    },

    remove : function(o){
        var index = this.indexOf(o);
        if(index != -1){
            this.splice(index, 1);
        }
        return this;
    }
});


주: 원생 js1.6리 indexOf는 이미 규범에 기록되었지만 각 유람기가 실현되었는지는 확실하지 않습니다.
그래서 EXT는 Ext.applyIf()를 사용합니다. indexOf를 실현하지 못한 유람기를 위해 Array에 있습니다.prototype에 indexOf를 추가하고remove를 추가하여 Array의 모든 실례를 사용할 수 있도록 원생 Array의 기능을 강화했습니다.
이 두 함수는 여전히 매우 간단하기 때문에 사실 기능은 매우 제한되어 색인 값과 요소 삭제만 되돌려 줄 수 있다
그러나 종종 문제는 쉽게 해결되지 않는다. 예를 들어 그룹 요소를 추가하고 삭제하는 등 조작을 할 때 사용자에게 알림 상자를 주어 확인하면 쉽게 생각할 수 있다.
Ext.extend(Array,Ext.util.Observable,{})
이것은 Array가 이벤트를 추가할 수 있는 능력을 증가시키고 Ext.extend의 세 번째 매개 변수에 특정한 이벤트를 촉발할 수 있는 기회를 주는 함수를 추가하는 것입니다.
주의: 세 번째 매개 변수 대상의 속성과 방법은 슈퍼 클래스의prototype에 추가된 것입니다. 하위 클래스의 실례로 접근해야 합니다
대단히 운이 좋다
EXT는 이미 매우 강력한 Ext.util을 제공했다.MixedCollection 컬렉션 클래스
그것의 실현, 내일의 임무를 이해하다.

좋은 웹페이지 즐겨찾기