javascript - setTimeout和setInterval第一个参数不加括号,不加双引号

标签 javascript jquery node.js html

<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var num=0;
function numCount(){
 document.getElementById('txt').value=num;
 num=num+1;
 setTimeout(numCount(),1000);
 }

</script>
</head>
<body>
<form>
<input type="text" id="txt" />
<input type="button" value="Start" onClick="numCount()" />
</form>
</body>
</html>

上面代码中第一个参数为什么要加括号,seTimeout中为什么要加双引号? setInterval 怎么样?

最佳答案

将其更改为:

setTimeout(numCount,1000);

使用(),您可以立即调用该函数。上面是传递函数作为引用,在延迟时间后将被调用。

使用引号的另一种不太受欢迎的方式是:

setTimeout('numCount()',1000); // or setTimeout("numCount()",1000);

使用字符串参数..字符串将在计时器延迟结束时被评估为脚本

如有疑问,请在 MDN docs 中查找。

关于javascript - setTimeout和setInterval第一个参数不加括号,不加双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43437152/

相关文章:

javascript - 离开页面前要求保存吗?

javascript - 从请求头读取数据

javascript - 通过 onclick 从循环中传递一个 PHP 变量

javascript - 循环访问多个选择字段选项值

javascript - 如何使用 Unix 将 Node.js 脚本连接在一起 |管道(在命令行上)?

javascript - 如何从命令行运行 Node.js 程序而无需字 'node'

javascript - 如何在 jQuery 中制作多语言键盘?

javascript - jqGrid - 在编辑时检测后端 HTTP 响应代码

node.js - Windows 7 中 chromedriver 和 selenium-driver 的 NPM 安装失败

javascript - 如何在 PhpStorm 中将 `.js` 火设置为 Node