1. 程式人生 > >Javascript中的For迴圈

Javascript中的For迴圈

在開發的過程中,遍歷是一個經常遇到的。而for迴圈則是Javascript工具箱裡一個好用的,也常用的工具。每個人的習慣不同,for迴圈的寫法也不盡相同。

1、不寫宣告變數的寫法:

for(var i = 0;i<arr.length;i++){}

我們很多時候的寫法使這種(做小白不堪回首的那些年),但這種寫法,每次都會獲取一下陣列的長度,這會降低程式碼的效率。

2寫宣告變數的寫法:

for(var i = 0,len = arr.length;i < len;i++){}

這樣寫只獲取一次陣列的長度,可以解決第一種寫法的弊端。

 3for-in

迴圈 

for-in 迴圈主要用於遍歷物件

for()中的格式:for(keys in zhangsan){}

keys表示obj物件的每一個鍵值對的鍵!!所有迴圈中,需要使用obj[keys]來取到每一個值!

for-in 迴圈,遍歷時不僅能讀取物件自身上面的成員屬性,也能延續原型鏈遍歷出物件的原型屬性。

所以,可以使用hasOwnProperty判斷一個屬性是不是物件自身上的屬性。

obj.hasOwnProperty(keys)==true 表示這個屬性是物件的成員屬性,而不是原先屬性。

 1 //宣告一個Peson類
 2 
 3 function Man(){
 4
5 this.name = "張三"; 6 7 this.age = 14; 8 9 this.func1 = function(){ 10 13 } 14 15 } 16 17 //例項化這個類 19 var zhangsan = new Person(); 20 21 //使用for-in遍歷這個物件 22 23 for(keys in zhangsan){ 25 console.log(zhangsan[keys]) 27 }

4、for-of迴圈

這是ES6新特性,借鑑 C++JavaC# Python 語言,引入了

for...of迴圈,作為遍歷所有資料結構的統一的方法。

一個數據結構只要部署了Symbol.iterator屬性,就被視為具有iterator介面,就可以用for...of迴圈遍歷它的成員。也就是說,for...of迴圈內部呼叫的是資料結構的Symbol.iterator方法。

for...of迴圈可以使用的範圍包括陣列、Set Map 結構、類陣列物件(比如arguments物件、DOM NodeList 物件)、Generator 物件,以及字串。

thit's all!