// 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...