2014-10-22 8 views
2

는 일 바인딩 컨텍스트를 검색하는 방법이,의는자바 스크립트 함수의 바운드 실행 conext 받기

function a (b,c,d) {log(this); return b+c+d;} 

a(1,2,3); // logs [Object Window], returns 6 
bound = a.bind("hello", 5,6); 
bound(7); // logs "hello", returns 18 

지금 (콜백과 같은 예를 들어) 기능 bound을 부여 자바 스크립트 코드이를 가정 해 봅시다 , 5, 6? 내가 직접 함수의 바인딩 컨텍스트를 읽을 수있는 방법이 표시되지 않지만

답변

0

, 당신은 그것을 (다른 함수의 실행 범위로)를 사용할 수 있습니다.

/** 
* @param {function} toBeCalled 
* @param {function} preBound 
* @param {array} args 
*/ 
function callOnBoundScope(toBeCalled, preBound, args) { 
    toBeCalled.apply(preBound, args); 
} 

기능 preBound은 자체적으로 호출되지 않고 범위를 제공합니다.