国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

es6 promise面試

timger / 3368人閱讀

摘要:執行函數會返回一個遍歷器對象,每一次函數里面的都相當一次遍歷器對象的方法,并且可以通過方法傳入自定義的來改變函數的行為。函數可以通過配合函數更輕松更優雅的實現異步編程和控制流管理。它和構造函數的不同點類的內部定義的所有方法,都是不可枚舉的。

let const的命令

在ES6之前,聲明變量只能用var,var方式聲明變量其實是很不合理的,準確的說,是因為ES5里面沒有塊級作用域是很不合理的,甚至可以說是一個語言層面的bug(這也是很多c++、java開發人員看不懂,也瞧不起JS語言的劣勢之一)。沒有塊級作用域回來帶很多難以理解的問題,比如for循環var變量泄露,變量覆蓋等問題。let 聲明的變量擁有自己的塊級作用域,且修復了var聲明變量帶來的變量提升問題。

箭頭函數

當要求動態上下文的時候,就不能夠使用箭頭函數。也就是this的固定化
1、在使用=>定義函數的時候,this的指向是定義時所在的對象,而不是使用時所在的對象
2、不能夠用作構造函數,這就是說,不能夠使用new命令,否則就會拋出一個錯誤
3、不能夠使用arguments對象
4、不能使用yield命令
這是一道當年很困惑我的一道題不知道你在第一眼能不能看出其結果,this的指向總是讓人困擾,但是有了=>以后媽媽再也不用擔心你使用this了

Set是什么,有什么作用?

Set是ES6引入的一種類似Array的新的數據結構,Set實例的成員類似于數組item成員,區別是Set實例的成員都是唯一,不重復的。這個特性可以輕松地實現數組去重。

Map是什么,有什么作用?

Map是ES6引入的一種類似Object的新的數據結構,Map可以理解為是Object的超集,打破了以傳統鍵值對形式定義對象,對象的key不再局限于字符串,也可以是Object。可以更加全面的描述對象的屬性。

Proxy是什么,有什么作用?

Proxy是ES6新增的一個構造函數,可以理解為JS語言的一個代理,用來改變JS默認的一些語言行為,包括攔截默認的get/set等底層方法,使得JS的使用自由度更高,可以最大限度的滿足開發者的需求。比如通過攔截對象的get/set方法,可以輕松地定制自己想要的key或者value。下面的例子可以看到,隨便定義一個myOwnObj的key,都可以變成自己想要的函數。

Reflect是什么,有什么作用?

Reflect是ES6引入的一個新的對象,他的主要作用有兩點,一是將原生的一些零散分布在Object、Function或者全局函數里的方法(如apply、delete、get、set等等),統一整合到Reflect上,這樣可以更加方便更加統一的管理一些原生API。其次就是因為Proxy可以改寫默認的原生API,如果一旦原生API別改寫可能就找不到了,所以Reflect也可以起到備份原生API的作用,使得即使原生API被改寫了之后,也可以在被改寫之后的API用上默認的API。

Iterator是什么,有什么作用?

Iterator是ES6中一個很重要概念,它并不是對象,也不是任何一種數據類型。因為ES6新增了Set、Map類型,他們和Array、Object類型很像,Array、Object都是可以遍歷的,但是Set、Map都不能用for循環遍歷,解決這個問題有兩種方案,一種是為Set、Map多帶帶新增一個用來遍歷的API,另一種是為Set、Map、Array、Object新增一個統一的遍歷API,顯然,第二種更好,ES6也就順其自然的需要一種設計標準,來統一所有可遍歷類型的遍歷方式。Iterator正是這樣一種標準。或者說是一種規范理念。
就好像JavaScript是ECMAScript標準的一種具體實現一樣,Iterator標準的具體實現是Iterator遍歷器。Iterator標準規定,所有部署了key值為[Symbol.iterator],且[Symbol.iterator]的value是標準的Iterator接口函數(標準的Iterator接口函數: 該函數必須返回一個對象,且對象中包含next方法,且執行next()能返回包含value/done屬性的Iterator對象)的對象,都稱之為可遍歷對象,next()后返回的Iterator對象也就是Iterator遍歷器。

ECMAScript 6 怎么寫 class ,為何會出現 class?

ES6的class可以看作只是一個語法糖,它的絕大部分功能,ES5都可以做到,新的class寫法只是讓對象原型的寫法更加清晰、更像面向對象編程的語法而已。
//定義類
class Point {
constructor(x,y) {

  //構造方法
   this.x = x; //this關鍵字代表實例對象
   this.y = y; 

} toString() {

   return "(" + this.x + "," + this.y + ")"; 

}
}

Promise是什么,有什么作用?

Promise是ES6引入的一個新的對象,他的主要作用是用來解決JS異步機制里,回調機制產生的“回調地獄”。它并不是什么突破性的API,只是封裝了異步回調形式,使得異步回調可以寫的更加優雅,可讀性更高,而且可以鏈式調用。

promise對象的用法,手寫一個promise

promise是一個構造函數,下面是一個簡單實例
var promise = new Promise((resolve,reject) => {

if (操作成功) {
    resolve(value)
} else {
    reject(error)
}

})
promise.then(function (value) {

// success

},function (value) {

// failure

})

for...in 和for...of有什么區別?

ES6統一了遍歷標準,制定了可遍歷對象,那么用什么方法去遍歷呢?答案就是用for...of。ES6規定,有所部署了載了Iterator接口的對象(可遍歷對象)都可以通過for...of去遍歷,而for..in僅僅可以遍歷對象。
這也就意味著,數組也可以用for...of遍歷,這極大地方便了數組的取值,且避免了很多程序用for..in去遍歷數組的惡習。
上面提到的擴展運算符本質上也就是for..of循環的一種實現。
十八、Generator函數是什么,有什么作用?
答: 如果說JavaScript是ECMAScript標準的一種具體實現、Iterator遍歷器是Iterator的具體實現,那么Generator函數可以說是Iterator接口的具體實現方式。
執行Generator函數會返回一個遍歷器對象,每一次Generator函數里面的yield都相當一次遍歷器對象的next()方法,并且可以通過next(value)方法傳入自定義的value,來改變Generator函數的行為。
Generator函數可以通過配合Thunk 函數更輕松更優雅的實現異步編程和控制流管理。

async函數是什么,有什么作用?

答: async函數可以理解為內置自動執行器的Generator函數語法糖,它配合ES6的Promise近乎完美的實現了異步編程解決方案。

Class、extends是什么,有什么作用?

答: ES6 的class可以看作只是一個ES5生成實例對象的構造函數的語法糖。它參考了java語言,定義了一個類的概念,讓對象原型寫法更加清晰,對象實例化更像是一種面向對象編程。Class類可以通過extends實現繼承。它和ES5構造函數的不同點:
a. 類的內部定義的所有方法,都是不可枚舉的。

module、export、import是什么,有什么作用?

答: module、export、import是ES6用來統一前端模塊化方案的設計思路和實現方案。export、import的出現統一了前端模塊化的實現方案,整合規范了瀏覽器/服務端的模塊化方法,用來取代傳統的AMD/CMD、requireJS、seaJS、commondJS等等一系列前端模塊不同的實現方案,使前端模塊化更加統一規范,JS也能更加能實現大型的應用程序開發。
import引入的模塊是靜態加載(編譯階段加載)而不是動態加載(運行時加載)。
import引入export導出的接口值是動態綁定關系,即通過該接口,可以取到模塊內部實時的值。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/105588.html

相關文章

  • 前端面試ES6篇(高產似母豬)

    摘要:這也是前端面試經常詢問的問題,經常問你出現了哪些新的特性,平時又使用過那些。 這也是前端面試經常詢問的問題,經常問你es6出現了哪些新的特性,平時又使用過那些。在編寫此教程的時候,第一句話往往就是面試常常問到的地方,然后后面就是他的詳細解釋,面試要求的內容我會用*標記出來。寫技術文檔是真的累啊,雖然是看別人的文檔,但是你得看很多,而且還得自己總結啊。所以說要是覺得對你有用還是幫我點個s...

    BlackMass 評論0 收藏0
  • 前端面試ES6篇(高產似母豬)

    摘要:這也是前端面試經常詢問的問題,經常問你出現了哪些新的特性,平時又使用過那些。 這也是前端面試經常詢問的問題,經常問你es6出現了哪些新的特性,平時又使用過那些。在編寫此教程的時候,第一句話往往就是面試常常問到的地方,然后后面就是他的詳細解釋,面試要求的內容我會用*標記出來。寫技術文檔是真的累啊,雖然是看別人的文檔,但是你得看很多,而且還得自己總結啊。所以說要是覺得對你有用還是幫我點個s...

    seal_de 評論0 收藏0
  • 關于 ES6Promise面試

    摘要:執行,輸出,宏任務執行結束。到此為止,第一輪事件循環結束。參考入門阮一峰系列之我們來聊聊一道關于應用的面試題阿里前端測試題關于中函數的理解與應用這一次,徹底弄懂執行機制一個面試題原生的所有方法介紹附一道應用場景題目異步流程控制 說明 最近在復習 Promise 的知識,所以就做了一些題,這里挑出幾道題,大家一起看看吧。 題目一 const promise = new Promise((...

    dreambei 評論0 收藏0
  • JS筆記

    摘要:從最開始的到封裝后的都在試圖解決異步編程過程中的問題。為了讓編程更美好,我們就需要引入來降低異步編程的復雜性。異步編程入門的全稱是前端經典面試題從輸入到頁面加載發生了什么這是一篇開發的科普類文章,涉及到優化等多個方面。 TypeScript 入門教程 從 JavaScript 程序員的角度總結思考,循序漸進的理解 TypeScript。 網絡基礎知識之 HTTP 協議 詳細介紹 HTT...

    rottengeek 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<