js中异步和同步

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中异步和同步相关的知识,希望对你有一定的参考价值。

js引擎

js引擎是浏览器的重要组成部分,重要用于读取js和执行js代码。

js引擎执行js时是单线程执行的。

js执行为什么是单线程?

试想一下:如果js是多线程执行的,假设现在有两个线程p1,p1,那么这两个线程可以同时对同一个dom元素进行操作

比喻说,p1对dom元素进行更新操作,p2对dom元素进行删除操作,这样就会引起混乱。

既然是单线程执行,就说明js代码是从上往下一行一行解析执行的,只有上一行代码执行完毕了才会执行下一行代码。如果上一行代码解析时间很长,那么下一行代码就会被阻塞,对于用于而言,阻塞就以为这卡死,用户体验度很差。那么这个就是同步的特点。

例如:

1:

技术分享图片

2:

技术分享图片

注意:这就是同步执行的效果,也就是说只有等到前面的代码执行完了,我才能接着往下志执行的。

异步:

技术分享图片输出结果:技术分享图片

注意:异步就是你做你的事情,我的事情,互不影响。

setTimeout setInterval 都是异步任务。


以上是关于js中异步和同步的主要内容,如果未能解决你的问题,请参考以下文章

同步和异步编程有啥区别(在node.js中)

在 Node.js 同步/异步性能和速度中移动 100.000 多个文件 [关闭]

JavascriptJs同步异步以及回调函数

js同步和异步

JS怎么判断异步是不是执行完成

js中异步和同步