var c = 0; function printIt(){ console.log(c) } function plus(){ // 加上耗时操作,没有调用回调函数,所以js一直阻塞在这里, // 不能执行,所以结果还是 0,没有变化。 setTimeout(function(){ c += 1; }, 1000); } plus(); printIt();
理解不了 这里不是1秒后就执行c+=1么,为什么会阻塞
光阴似箭催人老,日月如移越少年。
注释有毒并不会阻塞。
执行后只是快速打出一个0
这里没有阻塞,你设置了setTimeout后,c += 1;会在你打印后再执行
注释有毒并不会阻塞。
执行后只是快速打出一个0
这里没有阻塞,你设置了setTimeout后,c += 1;会在你打印后再执行