javaScript中的异步、同步

本文探讨了JavaScript中的同步和异步编程模型,解释了它们的工作原理,以及各自的执行效率和控制特点。通过生活中的例子对比,阐述了同步和异步在实际开发中的应用场景和优劣。
摘要由CSDN通过智能技术生成

关于js中的异步和同步是一个很头痛的问题,写这篇博客用以记录一下自己的学习,我也是在网上看了很多,感觉自己还是有点迷糊,先记录一下学习的东西,后期应该还会补充。

1.同步

javaScript是一门单线程的语言,有一个主线程和一个任务队列,在同一时间如果有多个任务需要执行,这些任务就需要进行排队,先进先出,前一个任务执行完毕,后一个任务才开始执行,可能会造成运行堵塞,严重会使页面不响应。

2.异步

所谓的异步就是后面的不等前面的执行完毕,后面的便开始执行了。这是因为js中的主线程和任务队列在发挥作用,异步处理时,任务不主动进入主线程,只有当任务队列通知主线程了,某个异步任务才会进入主线程,例如打开网页中图片的加载。

举个例子:

异步:一边敲代码,一边听音乐,一边吃东西

同步:先吃东西,吃完东西之后敲代码,代码完成了之后听音乐

关于两者的优缺点如下:

1.同步的执行效率比较低,消耗时间,但是有利于对执行的流程进行控制,如果出错了,很快便可以定位到错误

2.异步的执行效率高,执行时间消耗时间短,但是会占用更多的资源

  • 15
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值