📜  Javascript setInterval()

📅  最后修改于: 2020-09-27 07:39:18             🧑  作者: Mango

在本教程中,您将在示例的帮助下了解JavaScript setInterval()方法。

在JavaScript中,可以按指定的时间间隔执行一段代码。这些时间间隔称为计时事件。

有两种方法可以按特定的时间间隔执行代码。他们是:

  • setInterval()
  • setTimeout()

在本教程中,您将学习setInterval()方法。


JavaScript setInterval()

setInterval()方法在每个给定的定时事件处重复一个代码块。

JavaScript setInterval的常用语法为:

setInterval(function, milliseconds);

其参数为:

  • 函数 -包含代码块的函数
  • 毫秒 – 函数执行之间的时间间隔

setInterval()方法返回一个intervalID ,它是一个正整数。


示例1:每1秒显示一次文本

// program to display a text using setInterval method
function greet() {
    console.log('Hello world');
}

setInterval(greet, 1000);

输出

Hello world
Hello world
Hello world
Hello world
Hello world
....

在上面的程序中, setInterval()方法每1000毫秒( 1秒) 调用一次greet() 函数 。

因此,程序每1秒显示一次文本Hello world

注意 :如果要多次重复一个代码块,则setInterval()方法很有用。例如,以固定的时间间隔显示一条消息。


示例2:每5秒显示一次

// program to display time every 5 seconds
function showTime() {

    // return new date and time
    let dateTime= new Date();

    // return the time
    let time = dateTime.toLocaleTimeString();

    console.log(time)
}

let display = setInterval(showTime, 5000);

输出

"5:15:28 PM"
"5:15:33 PM"
"5:15:38 PM"
....

上面的程序每5秒显示一次当前时间。

newDate()给出当前日期和时间。并且toLocaleTimeString()返回当前时间。要了解有关日期和时间的更多信息,请访问JavaScript日期和时间。


JavaScript clearInterval()

如上例所示,该程序在每个指定的时间间隔执行一个代码块。如果要停止此函数调用,则可以使用clearInterval()方法。

clearInterval()方法的语法为:

clearInterval(intervalID);

在这里, intervalIDsetInterval()方法的返回值。


示例3:使用clearInterval()方法

// program to stop the setInterval() method after five times

let count = 0;

// function creation
let interval = setInterval(function(){

    // increasing the count by 1
    count += 1;

    // when count equals to 5, stop the function
    if(count === 5){
        clearInterval(interval);
    }

    // display the current time
    let dateTime= new Date();
    let time = dateTime.toLocaleTimeString();
    console.log(time);

}, 2000);

输出

4:47:41 PM
4:47:43 PM
4:47:45 PM
4:47:47 PM
4:47:49 PM

在上面的程序中, setInterval()方法用于每2秒显示当前时间。 clearInterval()方法在5次之后停止函数调用。


您还可以将其他参数传递给setInterval()方法。语法为:

setInterval(function, milliseconds, parameter1, ....paramenterN);

当您将其他参数传递给setInterval()方法时,这些参数( parameter1parameter2等)将传递给指定的函数

例如,

// program to display a name
function greet(name, lastName) {
    console.log('Hello' + ' ' + name + ' ' + lastName);
}

// passing argument to setInterval
setInterval(greet, 1000, 'John', 'Doe');

输出

Hello John Doe
Hello John Doe
Hello John Doe
....

在上面的程序中,两个参数JohnDoe传递给setInterval()方法。这两个参数是将传递给setInterval()方法内部定义的函数的参数。


注意:如果只需要执行一次函数 ,则最好使用setTimeout()方法