美文网首页
setTimeout 和 setInterval 的用法

setTimeout 和 setInterval 的用法

作者: kviccn | 来源:发表于2017-03-15 02:12 被阅读285次

    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 一样,实际的延迟时间可能会稍长一点。

    相关文章

      网友评论

          本文标题:setTimeout 和 setInterval 的用法

          本文链接:https://www.haomeiwen.com/subject/seiknttx.html