for迴圈 js定時器 閉包 自執行函式

2021-08-08 20:38:07 字數 749 閱讀 7568

## for迴圈 js定時器 閉包 自執行函式##

前言

面試題目經常會出現這麼一道題目,請將1-10有序每隔一秒輸出。看似這個題目很簡單,但是確難倒了很多js初學者。還有跟這個類似情況,比如給五個dom新增hover事件,理想效果是列印出當前索引,知識都是列印出最後乙個值。

錯誤**:

var len =10

for(i = 0; i < len; i++) , 1000);

}

解決方案:(要引入閉包來儲存變數i不被銷毀)

for (var i = 1; i < 4; i++) , 3000);

})(i)// i是引數 對應著a

}

結果:(3s後輸出123)

1 2

3 也可以這樣寫:

for (var i = 1; i

< 4; i++)

function

fn(a)

}

如果要實現,沒隔3s輸出乙個數字,即,3s輸出1,3s後再輸出2…,就要對定時器時間設定

for (var i = 1; i < 4; i++) , a*3000); //3000代表間隔

})(i)

}

後續如果有補充,會繼續新增…

JS迴圈定時器和炸彈定時器

setinterval 迴圈定時器 規定時間間隔執行一次,像鬧鐘一樣,不關閉繼續執行 setinterval code,millisec,lang code 必需。要呼叫的函式或要執行的 串 millisec 必需。lang 可選。cleartimeout settime 清除定時器 60s倒計時特...

JS閉包 自執行函式小記

閉包概念 閉包就是就是函式的 堆疊 在函式返回後並不釋放,當在乙個函式內定義內部函式就會產生閉包 當乙個內部函式被呼叫,就會形成閉包,閉包就是能夠讀取其他函式內部變數的函式 閉包就是函式的區域性變數集合,只是這些區域性變數在函式返回後會繼續存在。舉個栗子 期望返回結果 內部函式中執行次數 0 內部函...

setinterval 必報 閉包 定時器

一 什麼是閉包?有什麼作用 什麼是閉包 閉包是定義在乙個函式內部的函式,它可以訪問父級函式的內部變數。當乙個閉包被建立時,會關聯乙個作用域 父級函式的所有內部變數的集合,這個作用域不會在父級函式執行完後立即銷毀,而是永久儲存在記憶體中,直到這個閉包被銷毀,只有通過這個閉包可以訪問 操作這個記憶體中的...