什么是异步(对比同步),本文主要和大家分享原生js异步和单线程详解,希望能帮助到大家。
//异步
console.log(100);
setTimeout(function(){
console.log(200);
},1000);
console.log(300);
//同步
console.log(100);
alert(200);
console.log(300);//同步会阻塞等待何时需要异步
--在可能发生等待的情况
--等待过程中不能像alert一样阻塞程序的执行
--因此所有的“等待的情况”都需要异步
前端使用异步的场景
定时任务:
setTimeout/setInterval
console.log(100);
setTimeout(function(){
console.log(200)
},1000);
console.log(300);
//同步
console.log(100);
alert(200);
console.log(300);
网络请求:ajax请求,动态<img>加载
//ajax
console.log('start');
$.get('xxx',function(){
console.log(data);
})
console.log('end');//startenddata
//img
console.log('start');
var img = document.creatElement('img');
img.onload = function(){
console.log(loaded);
}
img.src = 'xxxxxxxxxxxxxxxx';
console.log('end')//startendloaded
事件绑定
console.log('start');
var btn1 = document.getElementById('btn1');
btn1.addEventListener('click',function(){
console.log('clicked');
})
console.log('end')
异步和单线程
同步和异步的区别?分别举一个同步和异步的例子
同步会阻塞代码执行,而异步不会
alert是同步,setTimeout是异步
一个关于setTimeout的笔试题
console.log(1);
setTimeout(function(){
console.log(2)
},0);
console.log(3);
setTimeout(function(){
console.log(4);
},1000);
console.log(5);
//13524前端使用异步的场景有哪些
定时任务:setTimeout,setInterval
ajax请求,img加载
事件绑定
相关推荐:
以上就是原生JS异步和单线程详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号