setTimeout(function(){
console.log(1);
},1000)
console.log(2);
输出:2,1
var btn = document.querySelector("#btn");
btn.onclick=function(){
console.log("onclick")
};
setTimeout(function(){
console.log(1);
},1000)
console.log(2);
for(var i=0;i<10000;i++ ){
console.log("a");
}
输出:2,10000个a,1,先同步,再异步。
异步回调函数只有等v8空了才能被执行。
for(var i=0;i<5;i++){
setTimeout(function(){
console.log(i);
},1000)
}
输出:同时输出5个5
没有闭包的加持,变量的值被替换
for(var i=0;i<5;i++){
(function(i){
setTimeout(function(){
console.log(i);
},1000)
})(i)
}
同时输出:0,1,2,3,4
for(var i=0;i<5;i++){
(function(i){
setTimeout(function(){
console.log(i);
},1000*i)
})(i)
}
分别输出,0,1,2,3,4
for(var i=0;i<5;i++){
(function(i){
setTimeout(function(){
console.log(i);
},1000*i)
})(i)
}
for(var j=0;j<4000;j++){
console.log("啦啦啦啦啦")
}
v8,在4s之前去执行会依次输出,4s之后去执行是同时输出。