一:JS事件循环

  1:同步调用

    同步调用是一种阻塞式调用,调用要等待双方执行完毕才返回,他是一种单向调用。

  2:回调

    回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口。

  3:异步调用

    异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方,比如浏览器点击事件中,用户点击后,会调用JS中的回调函数。

  异步的实现原理:  

    平面设计培训,网页设计培训,美工培训,游戏开发,动画培训

 首先左上角的Call stack(调用栈)会把代码一行一行的执行,遇到addEVentListener,也就是事件,那么它不会执行,会托管在implementation-specific(可以理解为浏览器)中,右上角的implementation-specific会把这个事件记下来,当有人点击时,那么它会load成一个消息存放在右下角的message queue中,然后Event Loop(事件循环)会一直在那里循环,查看message queue中的消息,有消息,就把它扔回调用栈,然后执行call back的事件。

 

二:ES6

  阮大大的《ECMAScript入门》  http://es6.ruanyifeng.com/

  1: promise  

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

  这个是非常简单的代码,先new promise传入2个参数,resolve代表成功会怎么样,reject代表失败会怎么样,上面的代码的意思是先输出'begin promise'resolve成功后1秒后输出'over'。then()的意思是resolve之后立即执行。

平面设计培训,网页
        
		<div class=

网友评论