많은 콜백을 사용하는 JavaScript 애플리케이션이 있습니다. 일반적인 함수는 콜백을 취해 다른 콜백으로 래핑합니다. 상기 예 감안 언제 call()을 사용해야합니까? 함수를 직접 호출해야합니까?
Namespace.foo = function(arg, their_on_success) {
var my_on_success = function(result) {
console.log('my_on_success() called');
if('function' === typeof their_on_success) {
their_on_success(result);
}
}
something(arg, my_on_success);
};
때해야 이러한 설정 우리 오히려
their_on_success()
호출과 함수 호출을 통해 결과를 전달보다 네이티브
call()
방법 (두 번째 인수로 결과 VAR 전달)? 당신은 함수 내에서
this
의 값을 설정하려는 경우입니다
가
var obj = {a: 0};
method.call(obj, "parameter");
function method(para) {
this.a == 0; // true <-- obj is now this
}
'apply '의 주된 경우는 가변 인자를 다룰 때 사용됩니다. 따라서'arguments'를 전달할 수 있습니다. –