JavaScript教程-JavaScript 的 setInterval 方法
JavaScript 可以在特定时间间隔内执行一段代码块。这些间隔被严格定义为时间事件。通常有两种方法可以实现相同的效果,您可以根据您的需求选择使用。
setInterval()
setTimeout()
在这里,我们将讨论 JavaScript 中的 setInterval() 方法。那么,让我们开始吧。
setInterval() 方法的主要功能是在特定的间隔时间内调用一个函数,该函数帮助计算表达式,通常以毫秒为单位。setInterval() 函数会继续调用函数,直到窗口被使用 clearInterval() 函数关闭。然后,setInterval() 方法返回的值被视为 clearInterval() 方法的参数。
如果我们只想在指定的毫秒数之后执行一次函数,我们可以使用 setTimeout(),该方法定义了相同的效果。
1000 毫秒 = 1 秒
在 JavaScript 中,setInterval() 方法以定义的重复间隔来执行代码块。
语法
setInterval(function, milliseconds);
function: 包含可执行代码块 milliseconds: 您的函数执行的定义时间间隔。
示例代码:
function Display() {
console.log("Hello JavaTiku");
}
setInterval(Display, 2000);
在上面的代码中,setInterval 函数设置为 2000 毫秒,即 2 秒。因此,它将在每隔 2 秒调用 Display() 函数,并在每隔 2 秒连续显示输出,如下所示。
Hello JavaTiku
Hello JavaTiku
Hello JavaTiku
.
.
...
您还可以通过一些不同的方法来自定义函数。例如,考虑下面的示例:
var myVar;
function Example() {
myVar = setInterval(shock, 3000);
}
function shock() {
alert(" Hi! ");
}
在上面的代码中,我们定义了两个函数。第一个函数将第二个函数作为参数,并在其中执行每 3 秒内的代码块。我们还定义了一个名为 myVar 的变量,它作为临时变量存储间隔。上述代码的输出将显示一个带有消息 " Hi! " 的弹出窗口。
setInterval() 方法将重复执行,直到使用 clearInterval() 方法停止。为了说明这一点,例如下面的示例代码。
var logic = setInterval(Time, 2000);
function Time() {
var x = new Date();
var y = x.toLocaleTimeString();
}
function FunctionStop() {
clearInterval(logic);
}
在上面的代码中,我们定义了变量 logic,其间隔设置为每 2 秒。在给定的函数中,我们还定义了两个变量 x 和 y,它们将以整数和字符串的形式存储数据和时间。每当您调用函数 Time 时,它将每 2 秒显示一次当前时间,并且 clearInterval() 方法将在每次时间显示后的间隔内擦除时间。这将导致时间以秒为单位发生变化,因此不需要手动删除以前显示的时间。输出将类似于以下内容。
1:47:41 AM
1:47:43 AM
1:47:45 AM
1:47:47 AM
1:47:49 AM
在上述两个示例中,我们讨论了可以制作的基本间隔方法。setInterval() 方法可以使用 HTML 和 CSS 进行自定义。我们可以通过 HTML 在 Web 页面上动态地更改显示颜色或定义它们。
例如,考虑下面的代码:
var display = setInterval(() => {
Color();
}, 500);
function setColor() {
var a = document.body;
a.style.backgroundColor = a.style.backgroundColor == "yello" ? "red" : "green";
}
function ColorStop() {
clearInterval(display);
}
在上面的代码片段中,我们定义了一个变量 display,它将在 500 毫秒的间隔后显示颜色。另一个函数 setColor() 将在每个间隔后将 body 的颜色设置为提供的相应颜色。下一个函数 ColorStop() 用于在每个间隔后停止间隔。每当调用函数 display() 时,其他函数在定义为 500 的间隔内开始执行,每个间隔后颜色会自动更改。很容易理解,颜色将从红色、绿色或黄色更改为背景。
特点
- setInterval() 方法以毫秒为单位多次执行方法,从而保持节奏(即 1 秒 = 1000 毫秒)。
- setInterval() 方法将持续调用定义的函数,直到手动使用另一个函数 clearInterval() 来关闭窗口。
- setInterval() 方法返回一个由方法 clearInterval() 使用的 ID,以停止执行常规间隔。
- 如果只想执行一次函数,可以使用 setTimeout() 方法。它只会运行一次函数。
- 如果您只需要执行一次函数,请使用 setTimeout() 方法。