认识JavaScript的单线程

认识JavaScript的单线程

说明

在JavaScript中可以“并发”处理很多任务,虽然JavaScript是单线程,但是其异步特性使得可以处理“并发任务”,其原理就是JavaScript中有一个事件循环队列,如果当前代码块不具有原子性(即是异步的),就会将该代码块的任务添加到事件循环队列中,当JavaScript引擎调用完毕原子代码块的任务队列时,便会从事件循环队列中获得队列的最前面的任务,将他压入执行队列中。为了清除的认识到这个特性,于是乎写了一个动画来清除的认识。

代码示例

不多说,下面上代码(简单易懂)




    
    
    
    Document
    
    
      



        

运行

新建一个 HTML 文件,将代码复制进去,之后用浏览器打开该文件,注意:代码中用了一些 es6 的语法,所以最好使用较新的浏览器。打开之后先点击移动,可以看到元素缓缓的移动。之后刷新界面,然后先点击开启额外任务,然后再点击移动,你会发现元素移动卡卡的。你可以在代码中看到,duty 函数的作用。之后便能清楚的认识到JavaScript 的单线程。

你可能感兴趣的:(JavaScript)