首先,来看一个有趣的例子。

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”的警告框。

总结:

在使用定时器时,如果,函数带参数,要使用单引号,否则定时器无效 没有延迟效果。

如果函数不带参数,则 单引号带可不带,两种情况下都有延迟效果。


results matching ""

    No results matching ""