闭包应用场景之函数作为参数传递

例:setTimeout

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

    setTimeout(function(param){
    
    
        alert(param)
    },1000)

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

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

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

猜你喜欢

转载自blog.csdn.net/a123789999/article/details/119801510