JS setTimeout传参

在JavaScript中,setTimeout是一个常用的函数,用于在指定的时间后执行一个指定的函数。通过setTimeout函数,我们可以实现一些延迟执行的操作,例如在网页加载完成后弹出一个提示框。
setTimeout函数的基本用法
setTimeout函数的基本语法如下:
setTimeout(function, delay)
其中,function是要执行的函数,delay是延迟的时间,单位为毫秒。
例如,下面的代码会在1秒后弹出一个提示框:
setTimeout(function(){
alert("1秒后弹出提示框");
}, 1000);
setTimeout传递参数
有时候我们希望在setTimeout中执行的函数需要传递一些参数进去,这时就可以利用setTimeout的第三个参数。
setTimeout的语法为:
setTimeout(function, delay, param1, param2, ...)
其中,param1, param2, …是要传递的参数。
下面是一个示例,我们定义一个函数sum,然后使用setTimeout来调用它,并传递两个参数进去:
function sum(a, b){
console.log("a + b = " + (a + b));
}
setTimeout(sum, 1000, 5, 3);
在上面的示例中,函数sum会在1秒后执行,输出为:
a + b = 8
setTimeout传递对象
除了基本数据类型之外,我们还可以传递对象作为参数。例如:
function greet(person){
console.log("Hello, " + person.name);
}
var person = {
name: "Alice"
};
setTimeout(greet, 1000, person);
在上面的示例中,函数greet会在1秒后执行,输出为:
Hello, Alice
闭包
有时候我们需要在setTimeout中访问外部的变量,这时就需要用到闭包。例如:
var count = 0;
function increaseCount(){
count++;
console.log("count = " + count);
}
setTimeout(function(){
increaseCount();
}, 1000);
在上面的示例中,increaseCount函数会在1秒后执行,输出为:
count = 1
小结
通过setTimeout函数,我们可以实现延迟执行某个函数的操作。如果需要传递参数,可以利用setTimeout的第三个参数来实现。同时,可以通过闭包的方式在setTimeout中访问外部的变量。setTimeout是JavaScript中一个非常实用的函数,能够帮助我们实现一些需要延迟执行的操作。
极客教程