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 相关文章推荐
更优雅的事件触发兼容
Oct 24 Javascript
document.documentElement和document.body区别介绍
Sep 16 Javascript
解决jquery1.9不支持browser对象的问题
Nov 13 Javascript
深入分析JSON编码格式提交表单数据
Jun 25 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
Jan 06 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
Jul 31 Javascript
对vue中methods互相调用的方法详解
Aug 30 Javascript
vue中导出Excel表格的实现代码
Oct 18 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
Oct 29 Javascript
bootstrap 日期控件 datepicker被弹出框dialog覆盖的解决办法
Jul 09 Javascript
Elasticsearch实现复合查询高亮结果功能
Sep 10 Javascript
Element DateTimePicker日期时间选择器的使用示例
Jul 27 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中isset()和unset()函数的用法小结
2014/03/11 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
用cssText批量修改样式
2009/08/29 Javascript
javascript Keycode对照表
2009/10/24 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
2019/05/31 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
python清除函数占用的内存方法
2018/06/25 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
详解django中Template语言
2020/02/22 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
jupyter notebook指定启动目录的方法
2021/03/02 Python
css3 响应式媒体查询的示例代码
2019/09/25 HTML / CSS
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
《埃及的金字塔》教学反思
2014/04/07 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
小学生手册家长意见
2015/06/03 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书
工作自我评价范文
2019/03/21 职场文书