javascript中for/in循環及使用技巧_javascript技巧
May 16, 2016 pm 03:41 PMJavaScript 支援不同類型的迴圈:
for - 循環程式碼區塊一定的次數
for/in - 循環遍歷物件的屬性
while - 當指定的條件為 true 時循環指定的程式碼區塊
do/while - 同樣當指定的條件為 true 時循環指定的程式碼區塊
1. in運算子:要求其左邊的運算數是一個字串,或可以被轉換為字串,右邊的運算數是一個物件或陣列。如果該運算子左邊的值是右邊物件的一個屬性名,則傳回true。
例如:
1 2 3 4 |
|
2. for/in語句:文法,
for (variable in object)
statement;
提供了一種遍歷物件屬性的方法。
例:
1 2 3 |
|
javascript的陣列是一種特殊的對象,因此for/in循環可以像列舉物件屬性一樣枚舉數組下標。
可以把一個物件的所有屬性名稱複製到一個陣列中,
例:
1 2 3 4 5 |
|
3. in運算子與for/in語句不同,for/in語句in的左邊可以是宣告一個變數的var語句,陣列的一個元素或是物件的一個屬性,不能使字串。
4. 陣列常用的存取屬性運算子是“[]”,而不是“.”。 使用「[]」來命名屬性名師字串值,是動態的,可以在執行時改變,而不是一個識別符「.」。
例:
1 2 3 4 5 6 7 8 |
|
stock訪問的是每支股票的名字。
portfolio[stock]訪問的是每支股票的數量。
for-in循環
功能:遍歷物件屬性,把屬性名稱和屬性值都提出來
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
陣列也可以這樣遍歷,但不推薦,因為不能保證順序,而且如果在Array的原型上添加了屬性,這個屬性也會被遍歷出來。
for-in迴圈應該用在非陣列物件的遍歷上,使用for-in進行迴圈也稱為「枚舉」。
從技術上將,你可以使用for-in循環數組(因為JavaScript中數組也是物件),但這是不建議的。因為如果數組物件已被自訂的功能增強,就可能發生邏輯錯誤。另外,在for-in中,屬性列表的順序(序列)是不能保證的。所以最好陣列使用正常的for循環,物件使用for-in循環。

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)