当先锋百科网

首页 1 2 3 4 5 6 7
< p >在网页中,我们时常需要控制代码的执行顺序,JavaScript 中提供了一种延时执行的方法,即 setTimeout() 方法。 setTimeout() 可以让我们在指定时间内执行一段 JavaScript 代码,从而达到控制程序执行顺序的目的。下面我们将详细介绍 setTimeout() 方法,并通过实例来演示如何实现延时 1 秒的效果。< /p>< p >setTimeout() 方法的语法格式如下:< br >
setTimeout(function [, delay] [, param1, param2, ..., paramN]);
其中:< br >function:要执行的 JavaScript 代码。< br >delay:延时的时间,以毫秒为单位,默认为 0。< br >param1, param2,...,paramN:要传递给函数的参数。< /p>< p >假设我们现在有如下一段代码:< br >
function foo() {
console.log("hello, world");
}
console.log("start...");
foo();
console.log("end...");
我们希望在执行 foo() 函数前延时 1 秒钟,可以用 setTimeout() 方法来实现,代码如下:< br >
function foo() {
console.log("hello, world");
}
console.log("start...");
setTimeout(foo, 1000);
console.log("end...");
运行上面的代码,控制台将依次输出:< br >start...< br >end...< br >hello, world< /p>< p >从上面的输出结果可以看出,当执行到 setTimeout() 方法时,控制台会先输出 "start..." 和 "end...",然后在 1 秒钟后输出 "hello, world"。这是因为 setTimeout() 方法会将要执行的函数放到队列中,等到当前线程执行完毕后再去执行队列中的函数。因此,即使设置了延时,setTimeout() 也不会阻塞程序的执行。< /p>< p >setTimeout() 方法还可以传递参数,让被调用的函数接收参数。例如,我们现在有如下一段代码:< br >
function add(a, b) {
console.log(a + b);
}
setTimeout(add, 1000, 1, 2);
运行上面的代码,控制台将输出结果:< br >3< /p>< p >在上面的代码中,setTimeout() 方法将 add() 函数放到队列中,并将参数 1 和 2 一起传递给 add() 函数。由于设置了延时 1 秒钟,因此 1 秒钟后控制台输出了 add(1, 2) 的结果。< /p>< p >总结一下,setTimeout() 方法可以让我们控制程序执行的顺序,可以在指定的时间后执行一段 JavaScript 代码,还可以传递参数。但是需要注意的是,setTimeout() 方法并不能保证在指定时间精确执行代码,因为 JavaScript 是单线程执行的,如果当前线程中有其他代码正在执行,可能会延迟 setTimeout() 的执行。另外,如果希望多次执行延时操作,可以使用 setInterval() 方法。