setinterval和settimeout区别
- 执行时间间隔不同:setInterval 会按照指定的时间间隔,每隔一段时间执行一次指定的函数,而 setTimeout 只会在指定的时间间隔之后,执行一次指定的函数。
- 是否重复执行:setInterval 会一直按照指定的时间间隔,重复执行指定的函数,直到 clearInterval 被调用停止它的执行;而 setTimeout 只会执行一次指定的函数,除非在函数执行完毕之后,再次调用 setTimeout。
- 返回值不同:setInterval 返回一个唯一标识定时器的 ID,可以通过调用 clearInterval 函数来停止定时器的执行;而 setTimeout 返回一个唯一标识定时器的 ID,可以通过调用 clearTimeout 函数来停止定时器的执行。
下面是一个使用 setInterval 和 setTimeout 的 JavaScript 代码示例:
// 使用 setInterval 定时执行函数
let intervalId = setInterval(function() {
console.log('setInterval: Hello world!');
}, 1000);
// 使用 setTimeout 定时执行函数
let timeoutId = setTimeout(function() {
console.log('setTimeout: Hello world!');
}, 2000);
// 停止定时器的执行
clearInterval(intervalId);
clearTimeout(timeoutId);
在这个例子中,我们使用 setInterval 和 setTimeout 分别定时执行一个函数,其中 setInterval 的时间间隔是 1 秒,setTimeout 的时间间隔是 2 秒。然后我们使用 clearInterval 和 clearTimeout 分别停止它们的执行。注意,我们需要保存返回的定时器 ID,才能在之后调用对应的清除函数。