setTimeout 的用法

只有第二种和第三种是正确的用法。

setTimeout(函数名, 延迟)

setTimeout(show(), 1000);

show() 是函数运行,这种传递方式真正传进去的是 show 函数的返回值。因此会直接执行,无延迟。

setTimeout(匿名函数, 延迟)

setTimeout(show, 1000)

show 是函数引用,这种方式相当于一个延迟执行的匿名函数。

1
2
3
(function(__callback){
__callback();
})(show);

setTimeout(字符串代码, 延迟)

setTimeout("show()", 1000)

相当于一个延迟执行的 (new Function("show()"))() 。在一定延迟之后用字符串代码创建一个新的函数。

坚持原创技术分享,您的支持将鼓励我继续创作!