老师您好,我最近面试碰到一个面试题如下:
var b = ‘2’;
function abc(){
let b = 1;
++b;
setTimeout(() => {
test(‘fun test’);
}, 0);
setTimeout(test(‘test fun’), 1000);
console.log(b);
function test(str){
this.b++;
console.log(str);
console.log(this.b++);
}
}
abc();
在我的理解中,最终的输出顺序应该是:
2,fun test,4,test fun,4
最终我回家自己试过一遍之后的输出结果却是:
test fun,3,2,fun test,5
能给讲解一下吗