手寫乙個setInterval

2021-10-21 03:17:49 字數 624 閱讀 4820

// setinterval的所用是每隔一段指定的時間執行乙個函式,但是這個執行不是真的到了時間立即執行,

// 它真正的作用是每隔一段時間將事件加入事件佇列中去,只有當前的執行棧為空的時候,才能去從事件

// 佇列中取出事件執行。所以可能會出現這樣的問題,就是當前執行棧執行的時間很長導致事件佇列裡面

// 累積多個定時器加入的事件,當執行棧結束的時候,這些事件會依次執行,因此就不能做到每隔一段時間

// 執行的效果了

// 針對setinterval的這個缺點,我們可以使用settimeout遞迴呼叫來模擬 setinterval,這樣我們確保了只有乙個事件

// 結束了,我們才會觸發下乙個定時器事件,這樣解決了 setinterval 的問題

// 模擬setinterval

function

mysetinterval

(fn, delay,

...args)

function

interval()

, delay)}}

settimeout((

)=>

, delay)

return timer

}

手寫乙個Tomcat

1 工程截圖 2 封裝請求物件 通過輸入流,對http協議進行解析,拿到了http請求頭的方法和url author wangjie version 2018 11 9 封裝請求物件 通過輸入流,對http協議進行解析,拿到http請求頭的方法和url 3 封裝響應物件 基於http協議的格式進行輸...

手寫乙個ajax

在我看來,寫乙個ajax就需要5步,也就是5個單詞,這就是乙個ajax的流程。這五個單詞分別為 new open setrequestheader onreadystatechange send。記住這五個單詞你就有了ajax的整體的框架了。以上是最麻煩的一步,後面的步驟就比較簡單了。ajax.op...

手寫乙個佇列

佇列具有先進先出的特點,從隊尾新增元素,從隊首刪除元素。對於佇列,通常有兩種實現方式 陣列和鍊錶。package basicknowledge.集合框架.queue 基本功能 利用陣列實現乙個迴圈佇列 program summary author peicc create 2019 07 24 10...