JS高级:js是单线程的原因

1、如何证明js执行时单线程的:

        setTimeout()的回调函数是在主线程执行的

        定时器回调函数只有在运行栈中的代码全部执行完后才有可能执行

alert暂停主线程的执行,会暂停计时

2、为什么js要用单线程模式。与它的用途有关

        javascript的单线程,与它的用途有关

        作为浏览器脚本语言,javascript的主要用途是与用户互动,以及操作DOM

        这决定了它只能是单线程,否则会带来很复杂的同步问题。希望对一个对象只有一个操作 不然一个对象实现多个操作会很复杂 有事件上的问题

3、代码的分类

        初始化代码

        回调代码(回调函数)

4、js引擎执行代码的基本流程

        先执行初始化代码:包含一些特别的代码

        设置定时器

        绑定监听

        发送ajax请求

后面在某个时刻才会执行回调函数

        

你可能感兴趣的:(JS高级,javascript,前端,vue.js)