原生的setTimeout有一個缺陷,你傳遞的第一個函數不能帶參數。即瀏覽器
setTimeout(func(parma),1000);
這樣的語句是不生效的(不過在不一樣瀏覽器中有不一樣的錯誤,總之都沒法達到預期效果)閉包
這時,咱們就能夠用閉包來實現這個效果了。函數
function func(param) { return function() { alert(param); } } var f = func(1) setTimeout(f, 1000);