首先,来看一个有趣的例子。
var n = 123
function outInfo(param) {
alert(param)
}
setTimeout(outInfo(param), 2000)
运行上面代码,你会惊奇的发现,程序一开始就输出了“123”。那这是为什么呢?
下面,我们稍微对上面的代码进行调整后再看看运行结果是怎样的?
function outInfo() {
alert(123)
}
setTimeout(outInfo, 2000)
对,等待两秒钟之后才输出的“123”,那问题来了,为什么示例1确不是呢!
别急,我们在研究研究,下面继续修改实例1。
var n = 123
function outInfo(param) {
alert(param)
}
setTimeout('outInfo(param)', 2000)
运行上面这段代码,Ok 等待了两秒钟之后弹出一个显示“123”的警告框。
总结:
在使用定时器时,如果,函数带参数,要使用单引号,否则定时器无效 没有延迟效果。
如果函数不带参数,则 单引号带可不带,两种情况下都有延迟效果。