迴圈型別
獲取鍵值
獲取鍵名
可以遍歷物件
for…in…否是
是for…of…是否
否
let arr =
['red'
,'blue'
,'yellow'
]
使用for…in…遍歷
for
(let item in arr)
// 0,1,2
使用for…of…遍歷
for
(let item of arr)
// red,blue,yellow
let obj =
使用for…in…遍歷
for
(let item in obj)
// name,age
使用for…of…遍歷
for
(let item of obj)
// 報錯,因為普通物件沒有部署原生的iterator介面
而object.keys(obj)
方法會遍歷乙個物件的鍵值儲存到乙個陣列中返回
let newobj = object.
keys
(obj)
for(
let item of newobj)
for of 和 for in 的區別
var obj for var key of obj 出錯 uncaught typeerror obj is not iterablevar obj for var key in obj 結果是 a b cvar arr 3 5,7 for var i in arr 結果是 0 1 2var ar...
for in 和for of的區別
es5的話也可以使用foreach,es5具有遍歷陣列功能的還有map filter some every reduce reduceright等,只不過他們的返回結果不一樣。但是使用foreach遍歷陣列的話,使用break不能中斷迴圈,使用return也不能返回到外層函式。array.proto...
for in 和for of 的區別
最近在學習es6的知識,看到了for of 這新的迴圈方法,所以就測試一下和以前for in有什麼不同,一下是一些不同地方,當然還有其他不同的,暫時還沒有發現 for in迴圈由於歷史遺留問題,它遍歷的實際上是物件的屬性名稱。乙個array陣列實際上也是乙個物件,它的每個元素的索引被視為乙個屬性。當...