setTimeout
setTimeout()
方法设置一个定时器,该定时器在定时器到期后执行一个函数或指定的一段代码。
语法
let timeoutID = window.setTimeout(func[, delay, param1, param2, ...]);
let timeoutID = window.setTimeout(code[, delay]);
let timeoutID = window.setTimeout(function, milliseconds);
说明:
-
timeoutID
是该延时操作的数字ID
, 此ID
随后可以用来作为window.clearTimeout
方法的参数。 -
func
是你想要在delay
毫秒之后执行的函数。 -
code
是指你想要在delay
毫秒之后执行的代码字符串 (使用该语法是不推荐的,不推荐的原因和eval()
一样) -
delay
是延迟的毫秒数 (一秒等于1000毫秒),函数的调用会在该延迟之后发生。如果省略该参数,delay
取默认值0
。实际的延迟时间可能会比delay
值长。
需要注意的是,IE9
及更早的 IE
浏览器不支持第一种语法中向延迟函数传递额外参数的功能。如果你想要在 IE
中达到同样的功能,你必须使用一种兼容代码。
示例代码
setTimeout(() => console.log('text'), 1000)
// text
setTimeout((text) => console.log(text), 1000, 'text')
// text
setTimeout((...rest) => console.log(rest), 1000, 'text1', 'text2', 'text3')
// ["text1", "text2", "text3"]
setTimeout(fn => fn('text'), 1000, console.log)
// text
setTimeout((fn, text) => fn(text), 1000, console.log, 'text')
// text
setInterval
语法
let intervalID = window.setInterval(func, delay[, param1, param2, ...]);
let intervalID = window.setInterval(code, delay);
说明:
-
intervalID
是此重复操作的唯一辨识符,可以作为参数传给clearInterval()
-
func
是你想要重复调用的函数。 -
code
是另一种语法的应用,是指你想要重复执行的一段字符串构成的代码(使用该语法是不推荐的,不推荐的原因和eval()
一样)。 -
delay
是每次延迟的毫秒数 (一秒等于1000毫秒),函数的每次调用会在该延迟之后发生。和setTimeout
一样,实际的延迟时间可能会稍长一点。
网友评论