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 相关文章推荐
javascript 动态加载 css 方法总结
Jul 11 Javascript
qTip2 精致的基于jQuery提示信息插件
Feb 17 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
jQuery点缩略图弹出层显示大图片
Feb 13 Javascript
使用canvas实现仿新浪微博头像截取上传功能
Sep 02 Javascript
基于JS实现简单的样式切换效果代码
Sep 04 Javascript
jQuery动态创建元素以及追加节点的实现方法
Oct 20 Javascript
Angular2下使用pdf插件的方法详解
Apr 29 Javascript
vue-router 源码实现前端路由的两种方式
Jul 02 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
Apr 30 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
Nov 19 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数组无限分级数据的层级化处理代码
2012/12/29 PHP
分割GBK中文遭遇乱码的解决方法
2013/08/09 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
php-msf源码详解
2017/12/25 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
javascript禁止访客复制网页内容的实现代码
2015/08/05 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
JavaScript中的对象和原型(一)
2016/08/12 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
使用vue + less 实现简单换肤功能的示例
2018/02/21 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
解决await在forEach中不起作用的问题
2021/02/25 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
python里对list中的整数求平均并排序
2014/09/12 Python
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
数据库专业英语
2012/11/30 面试题
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
事业单位接收函
2014/01/10 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
教师求职自荐信
2015/03/26 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
好段摘抄大全(48句)
2019/08/08 职场文书
测量JavaScript函数的性能各种方式对比
2021/04/27 Javascript
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers