JQuery中SetTimeOut传参问题探讨


Posted in Javascript onMay 10, 2013

无论是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 相关文章推荐
让iframe框架网页在任何浏览器下自动伸缩
Aug 18 Javascript
理解JavaScript中的事件
Sep 23 Javascript
JS鼠标事件大全 推荐收藏
Nov 01 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
Jan 20 Javascript
jQuery弹出窗口简单实现代码
Mar 09 Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 Javascript
node内置调试方法总结
Feb 22 Javascript
webpack4 css打包压缩问题的解决
May 18 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
Sep 21 Javascript
vue中各种通信传值方式总结
Feb 14 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 Javascript
基于redis的小程序登录实现方法流程分析
May 25 Javascript
jQuery中读取json文件示例代码
May 10 #Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
May 10 #Javascript
javascript级联下拉列表实例代码(自写)
May 10 #Javascript
jquery ui对话框实例代码
May 10 #Javascript
javascrip关于继承的小例子
May 10 #Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
May 10 #Javascript
解析瀑布流布局:JS+绝对定位的实现
May 08 #Javascript
You might like
PHP生成便于打印的网页
2006/10/09 PHP
PHP计数器的实现代码
2013/06/08 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
PHP7.0版本备注
2015/07/23 PHP
javascript实现的DES加密示例
2013/10/30 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
Three.js学习之几何形状
2016/08/01 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
vue axios用法教程详解
2017/07/23 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
[03:27]最受玩家喜爱奖提名:PZH_Element 致玩家寄语
2016/12/20 DOTA
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
python异步任务队列示例
2014/04/01 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
tensorflow常用函数API介绍
2020/04/19 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
Python排序函数的使用方法详解
2020/12/11 Python
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
隐形的翅膀观后感
2015/06/10 职场文书
世界名著读书笔记
2015/06/25 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
解决golang 关于全局变量的坑
2021/05/06 Golang
Python正则表达式中flags参数的实例详解
2022/04/01 Python
讨论nginx location 顺序问题
2022/05/30 Servers