例:setTimeout
原生的setTimeout有一个缺陷,你传递的第一个函数不能带参数。即
setTimeout(function(param){
alert(param)
},1000)
这样的语句是不生效的(不过在不同浏览器中有不同的错误,总之都无法达到预期效果)
这时,我们就可以用闭包来实现这个效果了。
function func(param){
return function(){
alert(param)
}
}
var f1 = func(1);
setTimeout(f1,1000);