Dojo API-dojo.hitch
4992 단어 dojo
바인딩 컨텍스트
dojo.hitch는 함수를 구체적인 상하문에 연결해서 실행할 수 있습니다.우선 1개 혹은 2개의 매개 변수의 상황을 고려한다.두 개의 파라미터를 받아들일 때 첫 번째 파라미터는 귀속할 대상을 표시하고 두 번째 파라미터는 대상에 귀속할 방법을 표시한다(함수 정의나 문자열 형식의 함수 이름일 수 있다).예:
첫 번째 형식의 호출:
/*
*o:
*f: o
*/
dojo.hitch(o, o.f);
호출 후 반환된 결과는 다음과 같습니다.
function() {
return o.f.apply(o, arguments);
}
그래서hitch가 함수를 되돌려줍니다
두 번째 호출 형식:
/*
*o:
*f: o
*/
dojo.hitch(o, "f");
호출 후 반환 결과:
function() {
return o["f"].apply(o, arguments);
}
dojo는 구성원 함수를 귀속할 수 있을 뿐만 아니라 일반 함수를 한 대상에 귀속시키거나 한 대상을 귀속시키는 방법으로 다른 대상에 귀속시킬 수 있다.
/*
*o:
*f:
*/
dojo.hitch(o, f);
/* */
function() {
return f.apply(o, arguments);
}
/*
*o:
*f: p
* o != p
*/
dojo.hitch(o, p.f);
/* */
function() {
return p.f.apply(o, arguments);
}
만약 하나의 매개 변수만 전달한다면, 도조에 해당한다.hitch의 첫 번째 인자가null로 설정되면 전달된 함수는 전역 공간에서 실행됩니다.
/*
*f:
*/
dojo.hitch(null, f);
/* */
f
dojo.hitch(null, "f");
/* */
function() {
return dojo.global[f].apply(dojo.global, arguments); //dojo.global
}
바인딩 매개 변수
도조에게 전해주면.hitch의 매개 변수가 2개보다 크면 첫 번째 매개 변수는 여전히 귀속될 대상이고 두 번째 매개 변수도 대상에 귀속되는 방법이다. 다른 매개 변수는 이 귀속된 방법에 전달되는 매개 변수이다.
/*
*o:
*f:
*a1, a2,... ,an: f
*/
dojo.hitch(o, f, a1, a2,..., an);
/* */
function() {
return f.apply(o, [a1, a2, ..., an].concat(argumetns));
}
예를 들어 다음과 같은 함수가 있습니다.
var printArgs = function(str1, str2, str3) {
alert(str1 + str2 + str3);
}
도조를 통해서.hitch 호출:
var print = dojo.hitch(null, printArgs, "this", "is");
print("easy"); // this is easy
/* printArgs("this", "is", "easy");
총결산
dojo.hitch는 실제적으로 한 함수를 다른 대상에 연결하고 이 함수의 호출 과정을 익명 함수에 봉인한 다음 이 익명 함수를 반환값으로 한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Dojo 학습지 (4): NodeList 확장dojo/query는 검색 결과와 일치하는 모든 노드로 구성된 그룹을 되돌려줍니다.이 수조는 실제적으로 특수한 수조 대상이라고dojo/NodeList라고 하는데, 이 수조 대상에는 그 중의 노드를 편리하게 조작할 수...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.