7思妙想之Js 實現for迴圈中的停頓

2021-07-23 20:05:40 字數 687 閱讀 5162

與朋友在實現一次的web端的展示時,遇到了乙個問題。先貼出有問題的**:

for(var i = 0; i < length; i++)
我們的構想是,**在遇見settimeout時, 能夠等待settimeout執行完,再繼續執行。熟悉js的人肯定知道,上面的**是不可能實現這個暫停的效果的。那麼問題來了,如何實現在迴圈裡的停頓呢?

一開始嘗試用了最古老的方法,寫了個sleep函式,但是實際的效果並不好。在這裡貼出sleep的**:

function sleep() 

}

實際效果不盡人意。當執行sleep時,你的event並不會按照你的預想執行,甚至出現動畫執行到一半停止的情況。對這種情況牽扯到js單執行緒的問題,不在此處多言。有志之士可上網查之。

幸運的是,可行的方法還是有的。

在這裡貼出鄙人的方法,可能其他的仁兄會有更好的解決方案,在這裡僅做學習交流之用:

var i = 0;

var event = function() ;

var myfor = function()

if (event_action == true)

else if (i <= length)

};myfor();

這樣也就實現了所謂迴圈裡的停頓。

js 難點之call,apply實現

1 function bar bar.call foo 1 bar 函式執行了 1,bar function foo.bar 1 執行該函式 刪除該函式 foo.fn bar 第二步 foo.fn 第三步 delete foo.fn function.prototype.call2 function...

二維Web應用開發之GIS功能開發實現思路

帶有屬性結果的gis功能開發思路,例如距離量算 l.supermap.service類例如 例項化功能服務類物件 service物件 l.supermap.queryservice url querybybounds param,function result 關於url的說明 l supermap...

資料結構中的7種排序方法 JS實現

資料結構中的7種排序方法 js實現 新技術一直在不斷變化,掌握一些基礎是未來學習不斷更新的技術的堅實基礎。近來閒來無事,為了溫習一下從前學的資料結構,將資料結構中的排序演算法用js實現了一遍 簡單排序 1.氣泡排序 氣泡排序是最簡單排序演算法,時間複雜度為n的平方,如下 function bubbl...