javascript - 为什么对函数的调用必须包含在 function() 中

标签 javascript

来自标准编程语言,我发现这段 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/

相关文章:

javascript - onClick 在我使用它时不起作用

javascript - 级联对象声明给出了第二个对象的未定义 typeof

javascript - Prettify.JS 无法正确显示 HTML 脚本标签

javascript - 方法 "showDate"在组件定义中具有类型 "undefined"

javascript - js通过静态方法创建对象

javascript - 如何使用 CSS 自定义属性和变换将 4 个子元素每 3 秒旋转 90 度?

javascript - 我如何driveapp使用谷歌脚本按字母顺序获取文件夹中的文件

javascript - 未捕获的类型错误 : Cannot read property 'barcodeScanner'

javascript - 如何通过单击更改对象标签 src

javascript unix时间提前一分钟