setTimeout多参数传递

本文深入讲解了setTimeout()方法的基本用法和高级应用,包括如何在指定时间后执行函数或表达式,以及如何向定时器传递参数。通过示例代码展示了在实际项目中如何利用setTimeout()进行延时操作,并探讨了不同浏览器的支持情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。

常规用法:

setTimeout(function(){ alert("Hello"); }, 3000);

加强版用法:

如下面完整代码中的setTimeout(alertFunc, 2000, "Runoob", "Google")

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<p>点击按钮 2 秒后输出 "Hello"。</p>

<p>实例中,我们也会输出传递给 alertFunc() 函数的参数 ( IE9 及更早版本不支持 )。</p>

<button onclick="myStartFunction()">开始</button>

<p id="demo"></p>

<p id="demo2" style="color:red;"></p>

<script>
var myVar;

function myStartFunction() {
    myVar = setTimeout(alertFunc, 2000, "Runoob", "Google");
}

function alertFunc(param1, param2) {
    document.getElementById("demo").innerHTML += "Hello ";

    document.getElementById("demo2").innerHTML = "传递给 alertFunc() 的参数: <br>" 
    + param1 + "<br>" + param2 + "<br>";
}
</script>

</body>
</html>

此时的setTimeout(alertFunc, 2000, "Runoob", "Google")一共传递了4个参数,咋一看有点蒙,查了下资料发现后边两个参数实际上是传递给定时执行函数alertFunc的参数,其界面运行效果如图:

传递参数给 alertFunc 函数 ( IE9 及其更早版本不支持)(如果使用匿名函数,则所有浏览器都支持):

 以上已结束,如有错误欢迎指正,嘎嘎!

一下为另一setTimeout多参数传递示例(es6 promise用法代码示例)

function timeout(ms) {
  return new Promise((resolve, reject) => {
    setTimeout(resolve, ms, 'done');
  });
}

timeout(100).then((value) => {
  console.log(value);
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值