异步线程案例

console.log(1);
console.log(2);
console.log(3);
for(var i = 0; i <1000000; i++){}
setTimeout(() => {
    console.log(4);
},20);
setTimeout(() => {
    console.log(5);
},0);
(function(){setTimeout(() => {
    console.log(6);
},0);})();
console.log(7);
console.log(8);
console.log(9);
console.log(10);
/*------------------------
结果如下:
1
2
3
7
8
9
10
undefined
> 5
6
4
--------------------------*/

for( var i = 0; i<10; i++) {
    setTimeout(() => {
        console.log(i);
    },100);
}
/*------------------------
结果如下:
> 10
10
10
10
10
10
10
10
10
10
--------------------------*/


for( var i = 0; i<10; i++) {
    (function(index){
        setTimeout(() => {
            console.log(index);
        },100);
    })(i);
}
/*------------------------
结果如下:
> 0
1
2
3
4
5
6
7
8
9
--------------------------*/


for( let i = 0; i<10; i++) {
    setTimeout(() => {
        console.log(i);
    },100);
}
/*------------------------
结果如下:
> 0
1
2
3
4
5
6
7
8
9
--------------------------*/

原文地址:https://www.cnblogs.com/dkplus/p/8442531.html