关于setTimeout()函数的基本用法这里就不多介绍了,具体可以参阅setTimeout()方法一章节。 

本章节介绍一下如何给调用的函数传递参数,先看一段代码:
   [ 其他 ] 运行代码    下载代码
<script>
function func(a,b){
  console.log(a+b);
}
setTimeout(func(2,2),5000);
</script>
很多初学者可能用上面的方式为调用的函数传递参数,其实这是错误的,这个时候函数直接执行了,而不是在指定的时间之后执行。

当setTimeout()函数第一个参数不使用引号的时候,那么第一个参数就是一个回调函数,传递的是函数的引用。

代码修改如下:
   [ 其他 ] 运行代码    下载代码
<script>
function func(a,b){
  return function(){
     console.log(a+b);
  }
}
setTimeout(func(2,2),5000);
</script>
以上代码实现了我们的要求,可以再5秒之后输出a和b的和,下面对代码做一下简要介绍。

func()函数可以传递两个参数并返回的是一个函数对象,实质上也就是被返回的这个函数作为回调函数传递给setTimeout()。

带有引号的参数传递方式:
   [ 其他 ] 运行代码    下载代码
<script>
function func(a,b){
  console.log(a+b);
}
setTimeout("func(2,2)",1000);
</script>

代码描述:setTimeout()调用函数 传递参数。setTimeout()调用函数传递参数简单介绍源码



116 154



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到