来自标准编程语言,我发现这段 JavaScript 代码很难理解:
(来自 http://www.w3schools.com/js/js_timing.asp )
var myVar=setInterval(function () {myTimer()}, 1000);
function myTimer() {
var d = new Date();
document.getElementById("demo").innerHTML = d.toLocaleTimeString();
}
为什么对 myTimer() 的调用进一步包含在 function(){} 中,它是一个函数。 setInterval() 不是需要一个函数吗?那么为什么不直接引用该函数呢?如:
var myVar=setInterval(myTimer(), 1000);
我也不明白的是上面的代码实际上运行了一次。这是为什么? (如果不正确,那么它根本不应该工作)
谢谢
最佳答案
要传递引用,只需使用不带 ()
的函数名称。
var myVar=setInterval(myTimer, 1000);
当使用()
时,调用该函数并将返回值传递给setInterval
关于javascript - 为什么对函数的调用必须包含在 function() 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32760706/