10.3 用setlnterval多次调用代码

  Setlnterval函数就像setTimeout函数一样,只不过它在周期性的暂停(或间隔)后,重复调用指定的函数。例如,如果想要用JavaScript来更新一个闹钟显示,可以使用setlnterval,每秒钟调用一次更新函数。Setlnterval函数接受两个参数,分别是想要调用的函数和间隔的时间长度(毫秒),如图10-2所示。

《javascript-少儿编程》第10章交互式编程之用setlnterval多次调用代码

图10-2 setlnterval的参数

  可以每秒钟写一条消息到控制台,如下所示:

《javascript-少儿编程》第10章交互式编程之用setlnterval多次调用代码

  在❶处,创建了一个名为counter的变量,并且将其设置为1.使用该变量来记录查看控制台的秒数。

  在❷处,创建了一个名为printMessage的函数。这个函数做两件事情。首先,它打印出一条消息以告知已经盯着控制台有多久了。然后,在❸处,递增了变量counter。

《javascript-少儿编程》第10章交互式编程之用setlnterval多次调用代码

  接下来,在❹处,调用Setlnterva,把printMessage函数和数字1000作为参数传递给它。这个Setlnterval调用的含义是“每1000毫秒调用1次printMessage函数”。就像setTimeout返回timeoutID一样,Setlnterval会返回interval ID,将其保存到变量intervalId中,可以使用这个interval ID来告诉JavaScript停止执行该printMessage函数。在❺处,使用clearInterval函数来做到这一点。

试试看

  修改前面的示例,改为每5秒钟打印1条消息,而不再是每1秒钟打印1条消息。


本站内容未经许可,禁止任何网站及个人进行转载。