代码描述:setTimeout()调用函数 传递参数。setTimeout()调用函数传递参数简单介绍源码
关于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>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能