[ExtJS3.2 원본 매일 1시간] ExtJS에서 리셋 생성createCallBack과createDelegate의 공통점 (10)
2341 단어 ext
다음 내용을 보기 전에 제가 발표한 또 다른 블로그, ExtJS에서 Function 클래스에 대한 확장을 보십시오.
1.createCallBack과createDelegate의 공통점:
(1) 양자의 용도는 모두 지정된 매개 변수가 있는 리셋 함수를 만드는 것이다
(2) 둘 다 폐쇄 메커니즘을 채택하여 원 함수에 따라 새로운 함수를 만들었다
2. createCallBack과 createDelegate의 차이점:
(1)createCallBack은 이 콜백 함수를 만들 때 지정한 매개 변수이며, 실행할 때 전송된 매개 변수는 더 이상 유효하지 않습니다.
예:
function testFunc(arg){
alert(arg);
}
// , arg 'aa'
var callBack = testFunc.createCallBack('aa');
// callBack
callBack('bb');// aa
callBack(); //
또한:createCallBack은 리셋 함수의 역할 영역을 지정할 수 없습니다. 기본 역할 영역은 윈도우입니다.
(2)createDelegate 리셋 함수를 만들 때 매개 변수를 지정하고 실행할 때 매개 변수를 전송할 수 있으며 역할 영역을 전송할 수 있습니다.
createDelegate는 obj,args,appendargs 세 가지 인자를 전송할 수 있습니다.
obj: 리셋 함수에 대응하는 작용역
args: 리셋 함수를 만드는 매개 변수
appendargs: 파라미터를 추가할지 여부입니다. appendargs가true라면args 파라미터는 이 리셋 함수가 실행될 때 전송된 파라미터 목록에 추가됩니다. appendargs가false라면args 파라미터는 무효입니다.appendargs가 숫자 값이면 기본적으로 추가됩니다. 그룹에 추가된 위치는 appendargs의 값입니다.
예:
function testFunc(arg1,data,arg3){
this.dom.innerHTML=data['name'];// , data name
alert(arg1);// ‘aa’
alert(arg3);// ‘bb’
}
var store = new Ext.data.JsonStore(.....);
var testSpan = Ext.get('testSpan');
// testSpan testFunc this testSpan ,
//args ['aa']
//appendArgs true
// arg1 'aa'
var callBack = testFunc.createDelegate(testSpan,['aa'],true);
store.on('load',function(){
//
//store.getAt(0) data
//bb arg3
callBack(store.getAt(0),'bb');
})
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ExtJS 3.2 학습 노트(3) 사용자 정의 이벤트Extjs에서 모든 상속은 Ext.util에서 합니다.Observable 클래스의 컨트롤은 이벤트를 지원할 수 있습니다. 클래스에 대해 이벤트를 사용자 정의하려면 다음 절차를 따르십시오. 1, 먼저 클래스를 정의합니...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.