javascript語言擴充套件 可迭代物件(4)

2021-09-23 21:23:17 字數 591 閱讀 4106

js 1.7中還包含乙個陣列推導(array comprehension)的特性,如果不在最後介紹它好像顯得不怎麼完整。

陣列推導其實很簡單:

let a = [x*x for(x in range(0,10)) if(x%2===0)];
以上**中的range()返回乙個生成器物件。上述**等價於:

let a = ;

for(x in range(0,10))

在js 1.8中,將陣列推導中的方括號變為圓括號,就變成乙個生成器表示式。該表示式的返回值是乙個生成器物件,而不是陣列。可陣列推導相比,使用生成器表示式的好處是可以惰性求值(lazy evaluation),這種特性可以應用於潛在的無窮序列。不過使用生成器表示式不像陣列可以隨機訪問,生成器沒有索引,為了得到第n個值,必須遍歷之前的n-1個值。

var a = [0,1,2,3,4,5,6,7,8,9,10];

var c = (x for(x in a) if(x%2 == 0));

for(i in c)

console.log(i);

javascript語言擴充套件 可迭代物件(3)

任何使用關鍵字yield的函式 哪怕yield在 邏輯中是不可達的 都稱為 生成器函式 generator function 生成器函式通過yield返回值。這些函式可以通過return終止函式的執行而不帶任何返回值,但不能使用return返回乙個值。然而和普通函式一樣,生成器函式也通過關鍵字fun...

可擴充套件標記語言

可擴充套件標記語言與access,oracle和sql server等資料庫不同,資料庫提供了更強有力的資料儲存和分析能力,例如 資料索引 排序 查詢 相關一致性等,可擴充套件標記語言僅僅是儲存資料。事實上它與其他資料表現形式最大的不同是 可擴充套件標記語言極其簡單,這是乙個看上去有點瑣細的優點,但...

可擴充套件標記語言

xml是可擴充套件標記語言,類似html,用來傳輸和儲存資料。標準通用標記語言的子集,是一種用於標記電子檔案使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的資訊符號,通過此種標記,計算機之間可以處理包含各種的資訊比如文章等。xml是樹形結構,且一定要有跟部標籤。語法規則 a.所有的 ...