JacaScript事件执行机制

1.js是单线程
JavaScript最大得特点就是单线程,也就是说,同一事件只能去做一件事情
单线程就意味着任务需要排序,前一个任务结束,才会执行下一个任务,导致js执行时间过长,这样会造成页面渲染不连贯,导致页面渲染加载阻塞
1.1.同步与异步
为了解决单线程问题,利用cpu多核计算性能,HTML5提出了web Worker标准,允许JavaScript创建多个线程,于是,js中出现了同步异步
同步:前一个任务结束后,才去执行下一个任务,程序得执行顺序,与任务排序得顺序一致
异步:前一个任务执行中,我们可以去执行下一个任务
1.2同步与异步
js执行任务时,为分为两个空间,同步任务放在主线程执行栈上,异步任务放在任务队列当中(任务队列也称为消息队列)。
常见得异步执行任务有
一半异步任务分为以下三类

  1. 普通时间 onclick resize等
  2. 资源加载 如onload error 等
  3. 定时器 setInterval setTimeout 等
    JavaScript事件执行机制
 1.先执行主线程执行站中得**同步**任务
 2.异步任务(回调函数)放入执行栈中
 3.执行栈中得**同步任务**执行完毕时,系统就会按照任务队列依次读取**异步任务**,被读取得异步任务结束等待状态,进入执行栈,开始执行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值