6

应用场景一:setTimeout

原生的setTimeout有一个缺陷,你传递的第一个函数不能带参数。即

setTimeout(func(parma),1000);

这样的语句是不生效的(不过在不同浏览器中有不同的错误,总之都无法达到预期效果)

这时,我们就可以用闭包来实现这个效果了。

function func(param) {
    return function() {
        alert(param);
    }
}
var f = func(1)
setTimeout(f, 1000);

Vagor
726 声望44 粉丝

稳住,稳住啊!!