有点没搞懂,请求讲解下,谢谢。
var createCallback=function(fn,args){
return function(){
fn.call(window,args); //这点没搞懂
}
}
var fn=function(userName)
{
document.body.innerHTML=userName;
}
//window.setInterval(createCallback(fn,"大漠沙秋"),1000);
[解决办法]
这个例子演了了call方法和函数可以做为参数的编程方式。javascript常常用这种方法传入一个函数,返回一个重新封装过的新函数,很多情况是修改函数的this指针,指向另一个对象。
var createCallback=function(fn,args){
return function(){//返回一个新函数
fn.call(window,args); //将旧函数的this指向window,并传入参数args
}
}