我想在2秒后将选择的字符串打印到控制台。
'Hello'2秒后将打印到控制台:
function log() {
console.log("Hello")
}
t = setTimeout(log, 2000)
Run Code Online (Sandbox Code Playgroud)
但是我没有选择打印哪个字符串。它被硬编码在函数中。
接下来的代码确实会打印'myChoice'到控制台,但会立即执行,而不是等待2秒钟:
function log(st) {
console.log(st)
}
t = setTimeout(log("myChoice"),2000)
Run Code Online (Sandbox Code Playgroud)
据我了解,这是因为setTimeout希望我为其提供函数。
如何将log函数提供给setTimeout并告诉它在运行时希望它使用我提供的任何字符串?
笔记
编辑:有些人将此标记为重复,并且实际上问题标题与另一个主题几乎相同。但是,另一个问题的主体似乎已经将所有答案锚定为解决问题的特定方式,即使用中间函数。我认为我得到的答案是给出该问题标题的最佳答案。
setTimeout 接受一个函数作为参数:
setTimeout(() => log("myChoice"), 2000)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |