[Day22] 计时器 setTimeout()

图片出处:https://tw.crazypng.com/56.html

在上一篇读 callback function 时看到范例用了这个 setTimeout() 方法,在回呼函式里很常用到,所以要来好好了解一番。

The global setTimeout() method sets a timer which executes a function or specified piece of code once the timer expires. -- MDN

全域的 setTimeout() 方法可以用来设定一个计时器,当计时器的时间到时,会执行一次 function 或者一段 code。

从 JavaScript 最早期开始,web 浏览器就有定义两个函式:
setTimeout() 指定的时间过後调用一个函式。
setInterval() 间隔一段时间重复调用该函式。

他们未被标准化为核心语言,但在所有浏览器和 Node 中都能作用,也是 JS 标准程序库公认的一部分。 --犀牛

setTimeout() 的第一个引数是函式,第二个引数是数字,意指要经过多少时间(千毫秒)才会调用该函式,但如果系统繁忙也许会更久,也就是说至少要在指定的时间过後才会执行。而如果第二个引数设 0,不代表会立刻调用,而是注册为"尽快呼叫",并且也要视系统繁忙程度,可能会等个 10 毫秒也不一定。来看下面范例:

setTimeout(() => { console.log("Go!!"); }, 3000);
setTimeout(() => { console.log("set..."); }, 2000);
setTimeout(() => { console.log("Ready..."); }, 1000);

执行後不是按照执行先後顺序出现,而是依照第二个引数设定的时间(千毫秒),最先执行的 "Go!!" 因设定为 3,000 毫秒,所以是在最後才出现。

setInterval() 用法跟 setTimeout() 相同,差别在於setInterval() 是重复调用。

参考资料

MDN-setTimeout()
JavaScript大全(犀牛)


<<:  【从零开始的Swift开发心路历程-Day25】天气预报App实作Part4(完)

>>:  D22 - 走!去浏览器自己挑要吃哪个 node

Day 8 - 基本语法3 (运算)

昨天我们学了转型态等等的语法,今天我们继续! 正文 运算 规则 在现实生活中,我们运算会写成 2 +...

CRUD的UD / ICON / confirmDialog - day06

前情提要 前几编文章里,大家已经知道如何利用 Vaadin-on-Kotlin 简单快速的新增、查询...

Day 30:Keep Going 的意思

就这样接连 30 天顺利完成铁人赛系列了~ 为所有自律且成功达标的参赛者们一起喝采!!! 在产出本系...

成熟度模型( A maturity model)

-CMM 和 CMMI 成熟度水平比较 成熟度模型“可以”(而不是应该或必须)定义五个成熟度级别,...

Day11 Channel

通道Channel Channel可以想像成是一种资料结构,可以push data进去也可以pull...