JS【详解】setTimeout 延时(含清除 setTimeout,计时开始时间,0 秒延时解析,多 setTimeout 执行顺序,setTimeout 应用场景,网红面试题)
setTimeout
是 JavaScript 中的一个内置函数,用于在指定的毫秒数后执行一个函数或一段代码。
- 如何使用
setTimeout
?
setTimeout
接收两个参数:第一个参数是你想要执行的函数或者一段代码,第二个参数是延时的毫秒数。
setTimeout(function() {
console.log('这段代码将在 2000 毫秒后执行');
}, 2000);
- 如何清除
setTimeout
?
setTimeout
函数返回一个 timerID,我们可以通过 clearTimeout
函数来清除这个定时器。
var timer = setTimeout(function() {
console.log('这段代码不会执行');
}, 2000);
clearTimeout(timer);
- 0 秒延时是什么意思?
setTimeout
的延时时间可以设置为 0 毫秒。这意味着代码会立即执行,但实际上并不会立即执行,而是会在当前的执行栈空了之后才执行。这通常用于立即执行一段代码,但不阻塞 UI。
setTimeout(function() {
console.log('这段代码会立即执行,但不会阻塞 UI');
}, 0);
- 如果有多个
setTimeout
怎么办?
如果有多个 setTimeout
,它们会按照设定的时间顺序执行。如果一个 setTimeout
设置的时间更短,它可能会在另一个 setTimeout
执行之前执行。
setTimeout(function() {
console.log('这段代码会在 2000 毫秒后执行');
}, 2000);
setTimeout(function() {
console.log('这段代码会在 1000 毫秒后执行');
}, 1000);
在上面的例子中,第二个 setTimeout
将在第一个 setTimeout
之前 1000 毫秒执行。这是因为 JavaScript 是单线程的,所有的代码都需要在执行栈为空的时候才会执行。
评论已关闭