# 定义和用法
setTimeout()
方法用于在指定的毫秒数后调用函数或计算表达式。
setTimeout(function(){ alert("Hello"); }, 1000);
运以上代码,浏览器将在3秒后弹出“Hello”。
# 语法
setTimeout(code, milliseconds, param1, param2, …)
setTimeout(function, milliseconds, param1, param2, …)
参数 | 描述 |
---|---|
code/function | 必需。要调用一个代码串,也可以是一个函数。 |
milliseconds | 可选。执行或调用 code/function 需要等待的时间,以毫秒计。默认为 0。 |
param1, param2, … | 可选。 传给执行函数的其他参数(IE9 及其更早版本不支持该参数)。 |
# 返回值
返回值timeoutID
是一个正整数,表示定时器的编号。这个值可以传递给clearTimeout()
来取消该定时。
需要注意的是setTimeout()
和setInterval()
共用一个编号池,技术上,clearTimeout()
和 clearInterval()
可以互换。但是,为了避免混淆,不要混用取消定时函数。
# 异步操作
setTimeout()
方法可以实现简单的异步操作。
setTimeout(
function(){
console.log( "第一排内容!" )
}
,0)
console.log( "第二排内容!" )
console.log( "第三排内容!" )
运行结果为
第二排内容!
第三排内容!
第一排内容!
# 带第三个参数实例
setTimeout( (x, y, z) => {
alert( x +" + "+ y +" + "+ z +" = "+ (x + y + z) )
},1000, 1, 2, 3)
运行结果为,1秒后弹出 1 + 2 + 3 = 6
。
(完)