我在W3学校找到了这个 setTimeout()
方法示例,并发现了一些我无法解释的内容.例子是:
myVar = setTimeout(alertFunc, 3000);
Run Code Online (Sandbox Code Playgroud)
......工作正常.但是当我改变它
myVar = setTimeout(alertFunc(), 3000);
Run Code Online (Sandbox Code Playgroud)
......警报立即触发.为什么?不应该是一样的吗?
不应该是一样的吗?
一点都不.
setTimeout(alertFunc, 3000)
将alertFunc
(对函数的引用)的值传递给setTimeout
.setTimeout
存储功能参考,以便在三秒后调用它.
setTimeout(alertFunc(), 3000)
alertFunc
立即调用,并将其返回值传递给setTimeout
.正是这种方式foo(bar())
调用 bar
并将其返回值传递给foo
.
归档时间: |
|
查看次数: |
134 次 |
最近记录: |