2
변수를 클로저 함수에 바인딩하는 방법이 궁금합니다. Javascript에서 클로저 변수 바인딩하기
여기에 코드를 참조하십시오 : 날이 코드를 사용하자 평가의 호출 후function makeCall(callback) {
var fs = callback.toString();
var stored_callback = eval('(' + fs + ')').bind({ });
stored_callback();
}
function foo(id) {
makeCall(function() {
console.log(id);
});
}
foo('bar');
가, 호출 된 함수는 ID가 폐쇄 예정대로해야으로 도달 할 수 없다.
내 질문은 toString을 호출하기 전에 어떻게 든 저장 및 호출되고 호출에 바인드되도록 클로저의 '컨텍스트'를 검색 할 수 있습니까?
'id'와'name'은 'obj.do'에 전달하는 함수로 액세스 할 수 있습니다. callback.bind (bobInstance);에서'콜백 (callback) '이란 무엇입니까?? 더 좋은 예제를 제공해야합니다. –
맞아요, 미안 해요. – user1018074
좋아, 지금 말하려고하는 것을 이해할 수 있지만 문제는 볼 수 없습니다. http://jsfiddle.net/xRLNM/. 전달 된 콜백을 바인드하지만 여전히 액세스 할 수 있습니다. 'id'. 당신은 "t"을 바꿀까요? 콜백을 다른 객체에 바인딩 할 때'id'와'name' 값을 사용합니까? 실제 문제를 보여주기 위해 http://jsfiddle.net/ 데모를 직접 제공해야 할 수도 있습니다. –