首页 > 代码库 > JS中函数名与函数名()的区别

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函数。

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