📅  最后修改于: 2023-12-03 15:20:06.956000             🧑  作者: Mango
setTimeout
是JavaScript中一个非常常用的函数,它可以在指定的时间后执行一次函数。
setTimeout(function, milliseconds, arg1, arg2, ...)
function
:必需,要执行的函数。milliseconds
:必需,延迟的毫秒数。arg1, arg2, ...
:可选,传给函数的参数。function greet(name) {
console.log(`Hello, ${name}!`);
}
setTimeout(greet, 2000, "World");
这会在2秒后输出:Hello, World!
。
setTimeout
方法的返回值是一个整数,表示定时器的ID。可以使用该ID取消该定时器,方法是调用clearTimeout
。
const timerId = setTimeout(greet, 2000, "World");
clearTimeout(timerId); // 取消定时器
延迟时间的单位是毫秒。请注意,在某些情况下,延迟时间可能会被自动调整为最小值(通常为4ms)。
如果你的函数不接受任何参数,则可以将函数本身作为第一个参数传递。
setTimeout(greet, 2000);
我们可以嵌套多个setTimeout
调用,以便创建一些有趣的效果(例如动画)。
function animate(element) {
element.style.left = "0px";
setTimeout(function() {
element.style.left = "200px";
setTimeout(function() {
element.style.left = "400px";
}, 1000);
}, 1000);
}
这个函数会将指定的HTML元素从左边移动到右边。每次移动之间有1秒的延迟时间。
setTimeout
是JS中一个非常强大和灵活的函数,它可以为我们提供创建强大效果和动画的基础。当然,它也有一些缺点和限制,但在正常情况下,它是一个非常有用的工具,值得投资学习和使用。