问题引入
看如下一段js代码:
图一如预期,控制台5s后输出testFn的字符串,当改动一个小地方后,
图二然而,字符串的输出并没有延迟,而是立刻执行。这是怎么回事呢?~~
分析
图一和图二的代码看似区别不大却大有文章,一不小心就很可能犯错,两者含义并不相同。
1. setTimeout(fn, delay)
传入的fn是一个函数地址
2. setTimeout(fn(), delay)
传入的fn()指函数执行,而非函数地址
看如下一段js代码:
图一如预期,控制台5s后输出testFn的字符串,当改动一个小地方后,
图二然而,字符串的输出并没有延迟,而是立刻执行。这是怎么回事呢?~~
图一和图二的代码看似区别不大却大有文章,一不小心就很可能犯错,两者含义并不相同。
1. setTimeout(fn, delay)
传入的fn是一个函数地址
2. setTimeout(fn(), delay)
传入的fn()指函数执行,而非函数地址
本文标题:setTimeout的第一个参数
本文链接:https://www.haomeiwen.com/subject/wzhccctx.html
网友评论