閉包的應用場景一:setTimeout

應用場景一:setTimeout

原生的setTimeout有一個缺陷,你傳遞的第一個函數不能帶參數。即瀏覽器

setTimeout(func(parma),1000);

這樣的語句是不生效的(不過在不一樣瀏覽器中有不一樣的錯誤,總之都沒法達到預期效果)閉包

這時,咱們就能夠用閉包來實現這個效果了。函數

function func(param) {
    return function() {
        alert(param);
    }
}
var f = func(1)
setTimeout(f, 1000);
相關文章
相關標籤/搜索