js执行机制

js一大特点是单线程 也就是说 同一时间只能做一件事 这是因为js 这门脚本语言 诞生的使命是 为了处理页面中用户的交互 ,以及操作dom而诞生的 。

比如对某个dom元素进行添加和删除操作 ,不能同时进行 应该先进行添加然后删除

单线程意味着任务要排队 导致页面渲染不连贯 加载堵塞的感觉

于是js分成了同步和异步 

同步 前后执行 按顺序

异步  做一件事的同时去做另一件事

区别在于执行顺序不同

同步任务在主线程中执行 形成一个执行栈

异步任务  js异步通过回调函数执行

一般三种类型

1,普通事件 click resize等

2,资源加载 load error

3,定时器

异步任务相关添加到任务队列中 (也称消息队列)

1,先执行执行栈里面的同步任务

2,异步任务放入任务队列

3,执行栈中的同步任务执行完毕,系统会按次序读取任务队列中的异步任务,于是被结束等待状态,进入执行栈,开始执行。

 

 事件循环:从任务队列中取事件到执行栈里面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值