码迷,mamicode.com
首页 > Web开发 > 详细

js中异步和同步

时间:2018-06-07 11:42:56      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:异步 同步

js引擎

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

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

js执行为什么是单线程?

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

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

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

例如:

1:

技术分享图片

2:

技术分享图片

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

异步:

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

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

setTimeout setInterval 都是异步任务。


js中异步和同步

标签:异步 同步

原文地址:http://blog.51cto.com/11871779/2125824

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!