let&const
1、新增塊級作用域
2、let -- 作用于 塊級作用域
3、const聲明一個只讀的常量。一旦聲明,常量的值就不能改變。const的作用域與let命令相同:只在聲明所在的塊級作用域內有效。
4、ES6 聲明變量的六種方法
ES5 只有兩種聲明變量的方法:var命令和function命令。ES6除了添加let和const命令,后面章節還會提到,另外兩種聲明變量的方法:import命令和class命令。所以,ES6 一共有6種聲明變量的方法。
數組的擴展
1、擴展運算符
2、Array.from()
3、Array.of()
4、數組實例的 copyWithin()
5、數組實例的 find() 和 findIndex()
6、數組實例的fill()
7、數組實例的 entries(),keys() 和 values()
8、數組實例的 includes()
9、數組的空位
Promise
Promise 是異步編程的一種解決方案,比傳統的解決方案——回調函數和事件——更合理和更強大。
(1)對象的狀態不受外界影響。Promise對象代表一個異步操作,有三種狀態:pending(進行中)、fulfilled(已成功)和rejected(已失敗)。
(2)一旦狀態改變,就不會再變,任何時候都可以得到這個結果。Promise
對象的狀態改變,只有兩種可能:從pending變為fulfilled和從pending
變為rejected。這時就稱為 resolved(已定型)。如果改變已經發生了,你再對Promise對象添加回調函數,也會立即得到這個結果。這與事件(Event)完全不同,事件的特點是,如果你錯過了它,再去監聽,是得不到結果的。
有了Promise對象,可以將異步操作以同步操作的流程表達出來,避免了層層嵌套的回調函數。此外,Promise對象提供統一的接口,使得控制異步操作更加容易。
Promise缺點
1)無法取消Promise,一旦新建它就會立即執行,無法中途取消。
2)其次,如果不設置回調函數,Promise內部拋出的錯誤,不會反應到外部。
3)第三,當處于pending狀態時,無法得知目前進展到哪一個階段(剛剛開始還是即將完成)。
generator
感覺像是在模擬同步,但是不是為同步而設計的
Generator 函數是 ES6 提供的一種異步編程解決方案,語法行為與傳統函數完全不同.從語法上,首先可以把它理解成,Generator 函數是一個狀態機,封裝了多個內部狀態。形式上,Generator 函數是一個普通函數,
有兩個特征
1)function關鍵字與函數名之間有一個星號;
2)函數體內部使用yield表達式,定義不同的內部狀態(yield在英語里的意思就是“產出”)。
Generator 函數是分段執行的,yield表達式是暫停執行的標記,而next方法可以恢復執行。
話說小主開了一個微信公眾號:[
民間程序員
],分享H5相關知識點,H5踩坑記,H5實戰案例分享等,歡迎大家關注~