javascript——异步和单线程

这篇博客探讨了JavaScript中的同步与异步概念,强调同步会阻塞代码执行,而异步则不会。通过举例说明,如alert是同步,setTimeout是异步。文章指出在可能发生等待的情况下需要使用异步,以避免程序阻塞。JavaScript被设计为单线程,执行顺序明确,异步任务在主线程空闲时才会执行。文章还提及了一个setTimeout的笔试题及前端中常见的异步应用场景,如定时任务和网络请求。
摘要由CSDN通过智能技术生成

同步和异步的区别是什么?分别举一个同步和异步的例子

同步会阻塞代码执行,而异步不会
例子:alert是同步,setTimeout是异步 

什么是异步

console.log(1);
setTimeout(function(){
    console.log(2);
},100);
console.log(3);

什么是同步

console.log(1);
alert(2);
console.log(3);

 这里发现,当我不点击alert的确定按钮,3永远都不会输出

何时需要异步

在可能发生等待的情况

等待过程中不能像alert一样会阻塞程序运行

单线程

javascript是一个单线程语音

执行第一行,打印1
执行setTimeout后,传入setTimeout的函数会被暂存起来,
不会立即执行(单线程的特点,不能同时干两件事)
执行最后一行,打印3
待所有程序执行完,处于空闲状态时,会立马看有没有暂存
起来的要执行。
发现暂存起来的setTimeout中的函数无需等待时间,
就立即来过来执行

一个关于setTimeout的笔试题


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值