使用闭包对setTimeout进行简单封装避免出错


Posted in Javascript onJuly 10, 2013

在写js脚本时,经常会用到一些拼写函数的情况,例如调用setTimeout

var msgalert="test"; 
function TestAlert(msg) 
{ 
alert(msg) 
} $(document).ready(function () { 
$("#btnCancel").click(function (e) { 
setTimeout("TestAlert("+msgalert+")",1000); 
}); 
})

查了很长时间,为什么就是弹不出对话框呢。检查了很长时间才发现,原来是少了一对单引号
$(document).ready(function () { 
$("#btnCancel").click(function (e) { 
setTimeout("TestAlert('"+msgalert+"')",1000); 
}); 
})

这样的写法容易出错,还不容易检查出错误,如果使用闭包就可完全避免,改写如下
var msgalert="test"; 
function dalayAlert(msg ,time){ 
setTimeout( 
TestAlert(msg), 
time 
); 
} 
function TestAlert(msg) 
{ 
alert(msg) 
} $(document).ready(function () { 
$("#btnCancel").click(function (e) { 
dalayAlert(msgalert,1000) 
}); 
})

由于使用了闭包,也简单了很多,检查错误也很容易了
Javascript 相关文章推荐
javascript 数组排序函数sort和reverse使用介绍
Nov 21 Javascript
JavaScript中创建类/对象的几种方法总结
Nov 29 Javascript
解析Javascript小括号“()”的多义性
Dec 03 Javascript
js检测网络是否具体连接功能的代码
May 23 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
Jun 16 Javascript
js+css实现导航效果实例
Feb 10 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
May 25 Javascript
javascript中SetInterval与setTimeout的定时器用法
Aug 24 Javascript
jQuery插件之jQuery.Form.js用法实例分析(附demo示例源码)
Jan 04 Javascript
javascript实现用户点击数量统计
Dec 25 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
Sep 11 Javascript
Express的HTTP重定向到HTTPS的方法
Jun 06 Javascript
js Map List 遍历使用示例
Jul 10 #Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
Jul 10 #Javascript
JS下拉框内容左右移动效果的具体实现
Jul 10 #Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
Jul 10 #Javascript
关于js遍历表格的实例
Jul 10 #Javascript
js浮动图片的动态效果
Jul 10 #Javascript
JS文本框默认值处理详解
Jul 10 #Javascript
You might like
php 301转向实现代码
2008/09/18 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
Laravel 修改默认日志文件名称和位置的例子
2019/10/17 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
基于jquery实现在线选座订座之影院篇
2015/08/24 Javascript
跟我学习javascript的call(),apply(),bind()与回调
2015/11/16 Javascript
JavaScript操作select元素和option的实例代码
2016/01/29 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
python编程培训 python培训靠谱吗
2018/01/17 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
PYQT5设置textEdit自动滚屏的方法
2019/06/14 Python
python调用接口的4种方式代码实例
2019/11/19 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
python实现计算器简易版
2020/12/17 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
酒店实习个人鉴定
2013/12/07 职场文书
军训的自我鉴定
2013/12/10 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
国庆庆典邀请函
2015/02/02 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
react国际化react-intl的使用
2021/05/06 Javascript
详解pytorch创建tensor函数
2022/03/22 Python
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL