我有一个带回调函数的函数。如何设置回调函数的'this'变量?
例如
function(fn){
//do some stuff
fn(); //call fn, but the 'this' var is set to window
//, how do I set it to something else
}
答案 0 :(得分:13)
答案 1 :(得分:2)
答案 2 :(得分:2)
funct.call(objThatWillBeThis, arg1, ..., argN);
或
funct.apply(objThatWillBeThis, arrayOfArgs);
答案 3 :(得分:2)
您可以使用.call()或.apply()。根据您的要求。 Here是关于他们的文章。
基本上你想要:
function(fn){
//do some stuff
fn.call( whateverToSetThisTo ); //call fn,
}