前几天在调bug时发现一个诡异的问题. function test(){ alert('4 seconds!'); } setTimeout(test(),4000); 这段代码立即执行,当时看不出问题的原因.只好先换了一种写法,如下. function test(){ alert('4 seconds!'); } setTimeout('test()',4000); 这几天有空了,把这个问题的原因总结了一下: 在js中,函数只要是要调用它进行执行的,都必须加括号.此时,函数()实际上等于函数的…