generator 和 yield的使用
ECMAScript 6 第四講
本章目標:
本章內容:
generator 和 yield的使用:
Generator主要是用于異步編程,就是封裝一個異步任務或者是異步任務的容器
特點是:可以交出函數執行權(暫停執行)
在聲明函數的function關鍵字與函數名之間有一個*(用于區別不同函數)
yield在generator函數體內使用,可以定義不同的內部狀態(可以設置不同時候不一樣的值)
yield命令是異步不同階段的分界線,有時候也會把yield當成是return(當然有本質區別)
使用啟動next(),分階段執行generator函數
我們看到這時候才都運行完,那么我們可以感覺到是不是把一個函數分成了幾段分別執行了呢?我們可以函數傳參來看一下
我們可以看到效果,發現第一個無效,第二個才看是接受到返回值
我們還可以接收他的返回值
我們可以看到結果
我們看到返回的是對象,里面有兩個值,第一個是返回的參數,第二個是bool類型的,為false表示當前的函數沒有執行完,為true表示函數執行完了
Map數據結構:
Map數據結構類似于對象,是鍵值對的集合。傳統的鍵只能用字符串,map的鍵不限于字符串,各種類型的值包括對象都可以當鍵
屬性和操作方法:
Size屬性:返回map結構的成員總數
Set(key,value)
Set設置鍵名key,鍵值value,然后返回整個map結構。如果key已經有值,則鍵值會被更新,否則就新生成該鍵
模塊module:
Export命令:用于規定模塊的對外接口
我們可以理解成一個模塊就是一個獨立的文件。該文件內部的所有變量,外部無法獲取。
如果你希望外部能夠讀取模塊內部的某個變量,就必須使用export關鍵字
模塊化是怎么用的?我們可以來看一下
新建一個js文件
我們才創建一個js文件,用來導入
創建html使用模塊化
那么我們也可以簡化導入
模塊化的優點:
減少命名沖突
避免引入是層層依賴
可以提升執行效率
總結
以上是生活随笔為你收集整理的generator 和 yield的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ES6类的使用和定义.Json.Prom
- 下一篇: 小程序开发前景