第十週web做業1

for each in:數組

使用一個變量迭代一個對象的全部屬性值,對於每個屬性值,有一個指定的語句塊被執行.數據結構

語法:函數

 

1 for each (variable in object) {
2   statement
3 }

 

參數:spa

variable:用來遍歷屬性值的變量,前面的var關鍵字是可選的.該變量是函數的局部變量而不是語句塊的局部變量.
object:該對象的屬性值會被遍歷.
statement:遍歷屬性值時執行的語句. 若是想要執行多條語句, 請用({ ... }) 將多條語句括住.

一些對象的內置屬性是沒法被遍歷到的,包括全部的內置方法,例如String對象的indexOf方法.不過,大部分的用戶自定義屬性都是可遍歷的.code

警告:永遠不要使用for each...in語句遍歷數組,僅用來遍歷常規對象。對象

例子:blog

1 var sum = 0;
2 var obj = {prop1: 5, prop2: 13, prop3: 8};
3 
4 for each (var item in obj) {
5   sum += item;
6 }
7 
8 print(sum); // 輸出"26",也就是5+13+8的值

 

 

for in:繼承

以任意順序遍歷一個對象的可枚舉屬性。對於每一個不一樣的屬性,語句都會被執行。索引

語法:ip

1 for (variable in object) {...}

參數:

variable:在每次迭代時,將不一樣的屬性名分配給變量。

object:被迭代其枚舉屬性的對象。
for..in 不該該被用來迭代一個下標順序很重要的 Array .for...in 並不可以保證返回的是按必定順序的索引,可是它會返回全部可枚舉屬性,包括非整數名稱的和繼承的。
例子:
 1 var obj = {a:1, b:2, c:3};
 2     
 3 for (var prop in obj) {
 4   console.log("obj." + prop + " = " + obj[prop]);
 5 }
 6 
 7 // Output:
 8 // "obj.a = 1"
 9 // "obj.b = 2"
10 // "obj.c = 3"

 

for of:

for...of 語句建立一個循環來迭代可迭代的對象。在 ES6 中引入的 for...of 循環,以替代 for...in 和 forEach() ,並支持新的迭代協議。for...of 容許你遍歷 Arrays(數組), Strings(字符串), Maps(映射), Sets(集合)等可迭代的數據結構等。

語法:

 

1 for (variable of iterable) {
2     statement
3 }

 

參數:

variable:每一個迭代的屬性值被分配給該變量。

iterable:一個具備可枚舉屬性而且能夠迭代的對象。

例子:

 1 // array-example.js
 2 const iterable = ['mini', 'mani', 'mo'];
 3  
 4 for (const value of iterable) {
 5   console.log(value);
 6 }
 7  
 8 // Output:
 9 // mini
10 // mani
11 // mo
相關文章
相關標籤/搜索