JavaScript : 일반적으로 함수 인수에 액세스합니다
-
06-07-2019 - |
문제
다음은 다음과 같습니다.
var log = function(arg1, arg2){
console.log("inside :" + arg1 + " / " + arg2);
};
var wrap = function(fn){
return function(args){
console.log("before :");
fn(args);
console.log("after :");
}
};
var fn = new wrap(log);
fn(1,2);
콘솔에 들어가기 때문에 잘못되었습니다.
before :
inside :1 / 2
after :
그러나 나는 대신 이것을 얻는다 :
before :
inside :1 / undefined
after :
JavaScript에게 어떻게 말할 수 있습니까? args
반환 된 함수에 전달 된 모든 인수입니까? wrap
?
해결책
당신이 사용할 수있는 적용하다 지정된 'this'및 인수 배열로 함수를 호출하려면 시도해보십시오.
var wrap = function(fn){
return function(){
console.log("before :");
fn.apply(this, arguments);
console.log("after :");
}
};
제휴하지 않습니다 StackOverflow