1. js在浏览器的执行机制-单线程:原因是操作dom和操作js两者互斥
2. js同步和异步编程
同步 : 两件事,必须昨晚第一件事才能做第二件事
异步 :两件事情,可以在第一件事的同时去做第二件事
3. 异步编程
js当中异步编程的例子:回调函数、Promise对象、事件监听、generator异步方法、Async/Await语法糖(es7)等等。
4. EventLoop事件和消息队列
当js发起异步调用,js线程和浏览器的异步调用线程同时开始执行,js执行调用栈的本轮任务,异步任务完成后会依次压入到消息队列,当调用栈为空,EventLoop(事件循环机制)会从消息队列中取出回调任务执行。
执行过程中关键点通俗解释: