今天遇到一个问题,题目如下: var len=4; while(len--){ setTimeout(function(){ console.log(len); },0); console.log(len); }; 问:输出是什么? 我的答案是打印3,2,1,0,-1,-1,-1,-1 过程是先执行console.log(len) ,执行了4次之后,再执行4次 setTimeout 问题很简单,但是我就想把console.log(len) 去掉,如下: var len=4; while(len-