JS执行机制 同步异步

JS语言的一大特点:单线程,也就是说,同一个时间只能做一件事。

什么是同步,什么是异步?

同步指的是一次只能完成一件任务,如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。
异步指的是每一个任务有一个或者多个回调函数,前一个任务结束后不是执行后一个任务,而是执行回调函数,后一个任务不是等前一个任务结束就执行,所以程序的执行顺序和任务的排列顺序是不一致的、异步的。

他们的本质区别:这条流水线上各个流程的执行顺序不同。

同步任务

同步任务都在主线程上执行,形成一个执行栈。

异步任务

异步任务是通过回调函数实现的 ,异步任务放到任务队列里面。
异步任务有三种类型:
1、普通事件 如click、resize
2、资源加载 如load、error
3、定时器,包括setlnterval、setTimeout

JS执行机制:

在这里插入图片描述
由于主线程不断地重复获得任务,执行任务,再获得任务,再执行 所以这种机制叫做事件循环。
在这里插入图片描述

console.log(1);
document.onclick=function (){
   console.log("click");
};
   console.log(2);
   //执行输出顺序:1/2/click

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值