var a=5; setTimeout(function(){ alert(a) a=666 },1000); a=66
以上运行的结果是66,因为这个是先让看一秒以后,然后再执行,一秒的时间相对于计算机来说就很长了,足以把值都赋值完了,再执行,所以最后的结果是66