不管是js原生自帶的迴圈,還是一些工具包裡面的迴圈(比如jquery裡的$.each),裡面的迴圈有多種多樣.作為乙個有強迫症的人,總是想選擇最好的迴圈方式,效率最高的,最優雅的.在這裡我只列舉js自帶的迴圈.雖然一些工具包裡的迴圈看似很強大,但其本質上也是對js迴圈進行了封裝而已,而且如果你不引進這些js檔案,根本就無法使用它裡面的迴圈方法.為了可以更無憂無慮的使用,推薦使用js原生的,在具有效能的優勢上,也是挺優雅的.
第一種:
普通for迴圈
for(i=0;i第二種:
優化版for迴圈
for(j = 0,len=arr.length; j < len; j++)
第三種:foreach迴圈
arr.foreach(function(v,i))
第四種:map遍歷
var temp=arr.map(function(val,index))
第五種:for in 遍歷
for(var i in arr)
第六種
:forof遍歷
(需要es6支援
)
for( let i of arr)
效率最高的當屬for迴圈的優化版,支援break,continue,
最優雅的當屬map迴圈方式,支援使用return語句,遍歷後返回陣列
ar obj = ;
for(var key in obj)
物件的遍歷只有這一種方法,所以我們只需要記這一種就行
現在我不會為選用哪種迴圈而苦惱的,因為我只給自己列了3個選擇,對於陣列只有for迴圈優化版,和map優雅版;對於物件我只有1種,總之我不會為了選擇迴圈而迷茫了
Js原生定時迴圈載入資料
以下是定時迴圈載入ajax獲得的資料 var params jquery.ajax intr setinterval function time 注意 s中定時執行,settimeout和setinterval的區別,以及l解除方法 settimeout expression,delaytime 在...
關於js 原生原生鏈
可以這麼理解 1 所有的引用型別都有乙個 proto 隱式原型 屬性,屬性值是乙個普通的物件 2 所有的函式都有乙個prototype 顯示原型 屬性,屬性值是乙個普通的物件 3 所有引用型別都有乙個constructor 建構函式 屬性,該屬性 是乙個指標 指向它的建構函式 4 所有引用型別的 p...
Vue中使用原生js拖動
本文參考了 基於vue實現拖拽效果 最終實現,按原文中 實現,發現有bug,在滑鼠按下,拖動時,難以正常拖動。貼出原文 directives document.onmouseup e 原文 是有問題的,在滑鼠按下,拖動時,難以正常拖動,並且提前觸發了mouseup事件,導致mousemove並未解綁...