Javascript:如果我';我已经在使用一个外部函数了?
如果我已经在使用外部函数,为什么我需要定义自调用匿名函数 让我们用这些简单的例子 为什么这样做有效:Javascript:如果我';我已经在使用一个外部函数了?,javascript,html,function,Javascript,Html,Function,如果我已经在使用外部函数,为什么我需要定义自调用匿名函数 让我们用这些简单的例子 为什么这样做有效: var countDown=60; function myTimer() { document.getElementById("timer").innerHTML=countDown; countDown--; } var stopper=setInterval(function(){myTimer()},1000); 但这并不是: var countDown=60; f
var countDown=60;
function myTimer()
{
document.getElementById("timer").innerHTML=countDown;
countDown--;
}
var stopper=setInterval(function(){myTimer()},1000);
但这并不是:
var countDown=60;
function myTimer()
{
document.getElementById("timer").innerHTML=countDown;
countDown--;
}
var stopper=setInterval(myTimer(),1000); //self invoking anonymous function removed
我觉得这很奇怪,因为我已经调用了一个外部函数,那么为什么我需要在自调用匿名函数中直接调用它呢?第一个示例很有效,因为您将函数作为第一个参数传递给
setInterval
函数。这就是setInterval
所期望的
在第二个示例中,您没有传递函数引用,而是传递函数调用的结果:setInterval(myTimer(),1000)
您需要传递函数本身,因此需要执行以下操作:
setInterval(myTimer,1000)
试试var stopper=setInterval(myTimer,1000);没有()