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