generator 函式是 es6 提供的 一種非同步程式設計解決方案,語法行為與傳統函式完全不同 。
generator函式有兩個特徵: 一是 function命令與函式名 之間有乙個星號: 二是 函式體內部使用 yield吾句定義不同的內部狀態。
用法:
可以看到,通過hello()返回的h物件,每呼叫一次next()方法返回乙個物件,該物件包含了value值和done狀態。直到遇到return關鍵字或者函式執行完畢,這個時候返回的狀態為ture,表示已經執行結束了。
通過for...of可以迴圈遍歷generator函式返回的迭代器。
用法:
ES6新特性之生成器函式 generator
一 什麼是生成器函式?生成器函式是es6的新特性之一,它是乙個在執行時能中途暫時退出,後面重新呼叫又能重新進入繼續執行的一種函式。並且在函式內定義的變數的所有狀態不受中途退出的影響。二 語法 宣告方式 function 函式名 引數1 引數2 引數n 呼叫說明 1 呼叫生成器物件時會返回乙個生成器的...
es6新特性 ES6新特性(一)
var 1 var宣告的是函式作用域 區域性 但在if for等定義的變數是全域性的 2 var 具有變數提公升,預解析 3 在同乙個作用域下,var可以宣告多次 4 var 宣告的變數會掛載到window上 let1 let不存在變數提公升,在變數使用之前,必須要先宣告 2 let在同一作用域下,...
ES6 新特性之Symbol
symbol let s1 symbol foo let s2 symbol bar s1 symbol foo s2 symbol bar s1.tostring symbol foo s2.tostring symbol bar es6 引入了一種新的原始資料型別symbol,表示獨一無二的值。...