JS中函数名与函数名()的区别

初学JS中,遇到一个问题。代码如下“

<script type="text/javascript">
 var fn=function(){
   alert("你好");
   setTimeout(fn,2000); 
 };
 fn();
  </script>

此代码是在页面每个两秒弹出提示框”你好“。  但是将setTimeout(fn,2000)改为setTimeout(fn(),2000),则是没有间隔的弹出提示框。就这个问题,我做简单分析:

fn作为setTimeout函数的参数,等待2s后体用fn函数;而fn()代表着立即调用,代码运行到这里不等待2s直接调用fn函数。

posted @ 2017-04-02 11:43  一束  阅读(1391)  评论(0编辑  收藏  举报