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闭包 新手版
Dec 28 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
Jan 08 Javascript
JavaScript中的undefined学习总结
Nov 30 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
Dec 22 Javascript
javascript实现window.print()去除页眉页脚
Dec 30 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
Jan 27 Javascript
javascript url几种编码方式详解
Jun 06 Javascript
bootstrap模态框垂直居中效果
Dec 03 Javascript
javascript实现文件拖拽事件
Mar 29 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
Aug 09 jQuery
Element Backtop回到顶部的具体使用
Jul 27 Javascript
ajax jquery实现页面某一个div的刷新效果
Mar 04 jQuery
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
咖啡的化学
2021/03/03 咖啡文化
实用函数9
2007/11/08 PHP
PHP语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
php摘要生成函数(无乱码)
2012/02/04 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
php源码的使用方法讲解
2019/09/26 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
json跟xml的对比分析
2008/06/10 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
JS批量操作CSS属性详细解析
2013/12/16 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
jQuery基于扩展实现的倒计时效果
2016/05/14 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
对python中dict和json的区别详解
2018/12/18 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
2016/01/11 HTML / CSS
办公室主任主任岗位责任制
2014/02/11 职场文书
期终自我鉴定
2014/02/17 职场文书
幼儿园教学随笔感言
2014/02/23 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
先进教师事迹材料
2014/12/16 职场文书