For in迭代 和For of有什麼區別

2021-10-02 01:43:59 字數 405 閱讀 7729

for…in

for…in 迴圈返回的值是資料的結構的key(模擬鍵值名)

遍歷物件返回的物件key值,遍歷陣列返回的陣列的下標(key)

for…in 不僅可以遍歷數字 鍵名,還會遍歷原型上的值和手動新增其他的鍵

for…in 迴圈出的是(key)

總結:fon…in 迴圈貼別適合遍歷物件

for…of 是es6新引入的特性。修復了es5引入的for…in的不足支援set().map()

for…of不能迴圈普通的物件,需要通過和object.keys()搭配使用

for…of不同與foreach

它可以與break.continue和return 配合使用

for…of 迴圈可以隨時推出迴圈

for…of 迴圈出的是(value)

for in 和 for of 的對比

fon in和for of最大的區別就是 乙個是對鍵名key的遍歷,乙個是對鍵值value的遍歷 使用for in也能遍歷陣列,但會存在一些問題 index索引為字串型數字,不能直接進行幾何運算 和遍歷順序物件的行為一樣,使用for in會遍歷陣列所有可列舉的屬性,所以原型物件上的方法和屬性也會被遍...

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