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笔记 数据的存储与访问性能优化
Aug 02 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
Jul 04 Javascript
用于deeplink的js方法(判断手机是否安装app)
Apr 02 Javascript
浅析创建javascript对象的方法
May 13 Javascript
在 Angular2 中实现自定义校验指令(确认密码)的方法
Jan 23 Javascript
fullPage.js和CSS3实现全屏滚动效果
May 05 Javascript
jquery在启动页面时,自动加载数据的实例
Jan 22 jQuery
Vue 中mixin 的用法详解
Apr 23 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
Nov 05 Javascript
微信小程序开发技巧汇总
Jul 15 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
Nov 01 Javascript
vue通过过滤器实现数据格式化
Jul 20 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中CI操作多个数据库的代码
2012/07/05 PHP
php中OR与|| AND与&amp;&amp;的区别总结
2013/10/26 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
php文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
thinkPHP查询方式小结
2016/01/09 PHP
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
jQuery获取选中单选按钮radio的值
2016/12/27 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
详谈表单重复提交的三种情况及解决方法
2017/08/16 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
对Angular中单向数据流的深入理解
2018/03/31 Javascript
Node.js Stream ondata触发时机与顺序的探索
2019/03/08 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
彻底理解Python list切片原理
2017/10/27 Python
Python 统计字数的思路详解
2018/05/08 Python
python使用递归的方式建立二叉树
2019/07/03 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
法国奢华女性时尚配饰网上商店:Monnier Frères
2016/08/27 全球购物
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
数学国培研修感言
2014/02/13 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
Nginx反向代理学习实例教程
2021/10/24 Servers