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系列(39):设计模式之适配器模式详解
Mar 04 Javascript
新手快速学习JavaScript免费教程资源汇总
Jun 25 Javascript
vue.js利用Object.defineProperty实现双向绑定
Mar 09 Javascript
JS将unicode码转中文方法
May 08 Javascript
深入研究React中setState源码
Nov 17 Javascript
vscode中vue-cli项目es-lint的配置方法
Jul 30 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
Aug 17 Javascript
如何解决webpack-dev-server代理常切换问题
Jan 09 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
Apr 28 Javascript
关于layui的动态图标不显示的解决方法
Sep 04 Javascript
Node配合WebSocket做多文件下载以及进度回传
Nov 07 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
Dec 02 Vue.js
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 删除cookie和浏览器重定向
2009/03/16 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
2011/07/29 PHP
PHP静态成员变量
2017/02/14 PHP
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
python实现ID3决策树算法
2018/08/29 Python
Python使用一行代码获取上个月是几月
2018/08/30 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
Python的Lambda函数用法详解
2019/09/03 Python
详解python播放音频的三种方法
2019/09/23 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
python之生成多层json结构的实现
2020/02/27 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
Shell如何接收变量输入
2012/09/24 面试题
吸烟检讨书2000字
2014/02/13 职场文书
考试诚信承诺书
2014/05/23 职场文书
宣传标语大全
2014/07/01 职场文书
银行求职信模板
2015/03/20 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书
java executor包参数处理功能 
2022/02/15 Java/Android
浅谈Python中对象是如何被调用的
2022/04/06 Python