JQuery中SetTimeOut传参问题探讨_Javascript教程-查字典教程网
JQuery中SetTimeOut传参问题探讨
JQuery中SetTimeOut传参问题探讨
发布时间:2016-12-30 来源:查字典编辑
摘要:无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数。如果想要传入参数,...

无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数。如果想要传入参数,自定义参数也好,事件参数event也好,解决办法是在此函数的基础上在做一层封装。其具体原理还不清楚,但是下边的办法确实能解决这个问题。

先看一个简单的代码:

复制代码 代码如下:

function show(){

alert("Hello World");

}

setTimeout(show,1000);

这段代码的效果是在1秒后显示hello world,但是如果改成

setTimeOut(show(),1000);

就会立即显示,达不到延时的效果了。但是如果加上引号就可以了。如:

setTimeOut("show()",1000);

就可以了。但是如果带上参数的话,还是不行比如:

setTimeOut("show(name)",1000)

这时就了一个比较的方法,就是再写个函数,该函数返回一个不带参数的函数,具体如下:

复制代码 代码如下:

script language="javascript">

function show(name)

{alert("Hello World:" + name);}

function _show(name)

{

return function()

{

show(name);

}

}

setTimeout(_show(name),1000);

function

</script>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类