setTimeout函数的第三个参数

setTimeout函数的第三个参数

最近拜读阮一峰大神的ES6时,突然发现一个平常得不能再平常的函数setTimeout()函数,竟然还有第三个参数!

而在平时的使用中,我们一般只用到前面的两个参数,即:

setTimeout ( code , ms )

  •  code:延迟时间到期之后执行的代码块
  •  ms:延迟时间 

然后自己带着疑惑去查阅MDN之后,才发现,原来setTimeout函数不止有第三个参数,后面甚至可以紧跟无数个参数!

其原文函数形式如下:

var timeoutID = scope.setTimeout(function[, delay, param1, param2, ...]);
var timeoutID = scope.setTimeout(function[, delay]);
var timeoutID = scope.setTimeout(code[, delay]);

Additional parameters which are passed through to the function specified by functionor code once the timer expires.

上面这句话的意思是:param1,param2...paramN作为前面的回调函数的附加参数.

怎么理解这句话呢?

我们可以通过简单的代码来实践一下,毕竟实践出真知嘛。

setTimeout((a,b,c) => {
   console.log(a,b,c)
}, 2000, "my", "name", "is starsion");
 my name is starsion

好了,到这里应该就知道后面参数的用法了。

不过还要注意一点就是:

这种传参方式在IE9及更低的版本下是不起作用的,需要使用polyfill

  • 27
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值