for in 和 for of 的區別


最近突然發現雖然整天做項目,但是基礎的東西忘得越來越多了,所以我准備沒事就回顧回顧基礎知識,今天來回顧一下for in 和for of的區別

 

首先來看for in 

  for in 可以用來遍歷數組,但是會有以下幾個問題

  1.index索引為字符串型數字,不能直接進行幾何運算

  2.遍歷順序有可能不是按照實際數組的內部順序

  3.使用for in會遍歷數組所有的可枚舉屬性,例如下面例子上的原型方法method和name屬性都會被遍歷出來

Array.prototype.method  = function(){
    console.log(this.length)
}

var myArray = [1,2,3,4,5]

myArray.name = "數組"
  for (var key in myArray) {
            console.log(key)
        }

 運送結果:

如果我們不想要method和name呢,這樣的話我們可以使用ES6的for of

特別注意:for in 遍歷的是數組的索引(即鍵名),for of遍歷的是value值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM