使用闭包对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 相关文章推荐
33种Javascript 表格排序控件收集
Dec 03 Javascript
jQuery中val()方法用法实例
Dec 25 Javascript
javascript封装 Cookie 应用接口
Aug 07 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
Aug 25 Javascript
zTree插件下拉树使用入门教程
Apr 11 Javascript
ES6新特征数字、数组、字符串
Oct 01 Javascript
JS实现数组按升序及降序排列的方法
Apr 26 Javascript
JS实现的随机排序功能算法示例
Jun 09 Javascript
浅谈Vuex的状态管理(全家桶)
Nov 04 Javascript
vue组件中的数据传递方法
May 14 Javascript
使用Vue CLI创建typescript项目的方法
Aug 09 Javascript
Javascript var变量删除原理及实现
Aug 26 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
《APMServ 5.1.2》使用图解
2006/10/23 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
smarty缓存用法分析
2014/12/16 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
JQuery通过后台获取数据遍历到前台的方法
2018/08/13 jQuery
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
2019/10/11 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
python list语法学习(带例子)
2013/11/01 Python
基于Python实现文件大小输出
2016/01/11 Python
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
5款非常棒的Python工具
2018/01/05 Python
python numpy元素的区间查找方法
2018/11/14 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
瑞士灯具购物网站:Lampenwelt.ch
2018/07/08 全球购物
估算杭州有多少软件工程师
2015/08/11 面试题
应届生程序员求职信
2013/11/05 职场文书
个人自我鉴定写法
2013/11/30 职场文书
教师职称自我鉴定
2014/02/12 职场文书
企业标语大全
2014/07/01 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis