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 相关文章推荐
Add a Table to a Word Document
Jun 15 Javascript
javascript 终止函数执行操作
Feb 14 Javascript
js对象转json数组的简单实现案例
Feb 28 Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 Javascript
ECMAScript6新增值比较函数Object.is
Jun 12 Javascript
jquery实现顶部向右伸缩的导航区域代码
Sep 02 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
Jan 26 Javascript
jQuery插件autocomplete使用详解
Feb 04 Javascript
Javascript实现base64的加密解密方法示例
Jun 27 Javascript
vue中配置mint-ui报css错误问题的解决方法
Oct 11 Javascript
Webpack框架核心概念(知识点整理)
Dec 22 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 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
php 图片上传类代码
2009/07/17 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
jquery 打开窗口返回值实现代码
2010/03/04 Javascript
JS高级笔记
2011/07/13 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
浅谈Javascript中深复制
2014/12/01 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
使用npm安装最新版本nodejs
2018/01/18 NodeJs
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
js实现筛选功能
2020/11/24 Javascript
python持久性管理pickle模块详细介绍
2015/02/18 Python
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
Python读取csv文件分隔符设置方法
2019/01/14 Python
解决PyCharm控制台输出乱码的问题
2019/01/16 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
介绍一下Linux中的链接
2016/05/28 面试题
一道Delphi上机题
2012/06/04 面试题
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
大学生军训广播稿
2014/01/24 职场文书
推广普通话演讲稿
2014/05/23 职场文书
接待员岗位职责范本
2015/04/15 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android