您的位置:首页 > Web前端 > JavaScript

前端面试-----JavaScript异步和单线程

2018-02-24 15:47 288 查看
JavaScript是单线程语言,但是ajax,事件监听是异步的,那么异步是怎么实现的呢(同步会阻塞代码的运行,而异步不会)


同步与异步



执行第一行,打印100
执行setTimeout后,传入setTimeout的函数会被暂存起来,不会立即执行(单线程的特点,不能同时干两件事)由于定时了1秒,这个函数会被封闭起来,在一秒后解封
执行最后一行,打印300
带程序执行完毕之后,会立马看没有储存起来的要执行的
发现暂存起来的setTimeout中的函数时间到了,就立即来过来执行

前端使用异步的场景

1定时任务:setTimeout, setInverval
2.网络请求:ajax请求,动态<img>加载
3.事件绑定

JavaScript执行机制

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: