使用闭包对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 字符串连接性能优化
Dec 20 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
Apr 15 Javascript
js使用心得分享
Jan 13 Javascript
javascript实现回到顶部特效
May 06 Javascript
BootStrap表单控件之文本域textarea
May 23 Javascript
微信JSSDK调用微信扫一扫功能的方法
Jul 25 Javascript
vue在使用ECharts时的异步更新和数据加载详解
Nov 22 Javascript
vue axios 在页面切换时中断请求方法 ajax
Mar 05 Javascript
以v-model与promise两种方式实现vue弹窗组件
May 21 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
Sep 18 Javascript
js实现网页版贪吃蛇游戏
Feb 22 Javascript
Vue切换Tab动态渲染组件的操作
Sep 21 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
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
jQuery ready()和onload的加载耗时分析
2016/09/08 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
python关闭windows进程的方法
2015/04/18 Python
Python 基础之字符串string详解及实例
2017/04/01 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
对python3新增的byte类型详解
2018/12/04 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
Python安装whl文件过程图解
2020/02/18 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
python定时截屏实现
2020/11/02 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
大学生个人先进事迹材料范文
2014/05/03 职场文书
考博专家推荐信
2014/05/10 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
美容院合作经营协议书
2014/10/10 职场文书
社区党员干部承诺书
2015/05/04 职场文书
单身证明范本
2015/06/15 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
React配置子路由的实现
2021/06/03 Javascript
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
Windows Server 2019 域控制器安装图文教程
2022/04/28 Servers
nginx之queue的具体使用
2022/06/28 Servers