비동기(동기)란 무엇인가요? 이 기사는 주로 기본 JS 비동기 및 단일 스레드에 대한 자세한 설명을 공유합니다.
//异步 console.log(100); setTimeout(function(){ console.log(200); },1000); console.log(300); //同步 console.log(100); alert(200); console.log(300);//同步会阻塞等待
비동기적인 경우
--대기가 발생할 수 있는 경우
--대기 프로세스 중에는 프로그램 실행을 경고처럼 차단할 수 없습니다
--따라서 모든 "대기 상황"에는 비동기
프런트 엔드가 필요합니다 비동기 작업 사용 시나리오
예약된 작업:
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 loading
이벤트 바인딩
관련 권장 사항:
위 내용은 네이티브 JS 비동기 및 단일 스레드에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!