一:JS事件循環(huán)

  1:同步調(diào)用

    同步調(diào)用是一種阻塞式調(diào)用,調(diào)用要等待雙方執(zhí)行完畢才返回,他是一種單向調(diào)用。

  2:回調(diào)

    回調(diào)是一種雙向調(diào)用模式,也就是說(shuō),被調(diào)用方在接口被調(diào)用時(shí)也會(huì)調(diào)用對(duì)方的接口。

  3:異步調(diào)用

    異步調(diào)用是一種類(lèi)似消息或事件的機(jī)制,不過(guò)它的調(diào)用方向剛好相反,接口的服務(wù)在收到某種訊息或發(fā)生某種事件時(shí),會(huì)主動(dòng)通知客戶(hù)方,比如瀏覽器點(diǎn)擊事件中,用戶(hù)點(diǎn)擊后,會(huì)調(diào)用JS中的回調(diào)函數(shù)。

  異步的實(shí)現(xiàn)原理:  

    平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

 首先左上角的Call stack(調(diào)用棧)會(huì)把代碼一行一行的執(zhí)行,遇到addEVentListener,也就是事件,那么它不會(huì)執(zhí)行,會(huì)托管在implementation-specific(可以理解為瀏覽器)中,右上角的implementation-specific會(huì)把這個(gè)事件記下來(lái),當(dāng)有人點(diǎn)擊時(shí),那么它會(huì)load成一個(gè)消息存放在右下角的message queue中,然后Event Loop(事件循環(huán))會(huì)一直在那里循環(huán),查看message queue中的消息,有消息,就把它扔回調(diào)用棧,然后執(zhí)行call back的事件。

 

二:ES6

  阮大大的《ECMAScript入門(mén)》  http://es6.ruanyifeng.com/

  1: promise  

    new Promise((resolve, reject) => {
        console.log('begin promise')
        setTimeout(resolve, 1000)
    }).then(() => {
        console.log('over')
    })

  這個(gè)是非常簡(jiǎn)單的代碼,先new promise傳入2個(gè)參數(shù),resolve代表成功會(huì)怎么樣,reject代表失敗會(huì)怎么樣,上面的代碼的意思是先輸出'begin promise'resolve成功后1秒后輸出'over'。then()的意思是resolve之后立即執(zhí)行。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)
        
        	<div   id=

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式