使用闭包对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 的继承
Oct 01 Javascript
JS刷新框架外页面七种实现代码
Feb 18 Javascript
js简单实现让文本框内容逐个字的显示出来
Oct 22 Javascript
javascript实现一个简单的弹出窗
Feb 22 Javascript
Bootstarp风格的toggle效果分享
Feb 23 Javascript
JS实现鼠标滑过显示边框的菜单效果
Sep 21 Javascript
JS实现动态添加DOM节点和事件的方法示例
Apr 28 Javascript
node下使用UglifyJS压缩合并JS文件的方法
Mar 07 Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
Sep 06 Javascript
微信小程序实现pdf、word等格式文件上传的方法
Sep 10 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
Aug 31 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 zend 相对路径问题
2009/01/12 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
php绘制一条直线的方法
2015/01/24 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
实现PHP搜索加分页
2016/10/12 PHP
[原创]php实现数组按拼音顺序排序的方法
2017/05/03 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
Bootstrap3 图片(响应式图片&图片形状)
2017/01/04 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
JavaScript模板引擎应用场景及实现原理详解
2018/12/14 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
python 远程统计文件代码分享
2015/05/14 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
Python try except异常捕获机制原理解析
2020/04/18 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
python批量修改文件名的示例
2020/09/27 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
Ibatis的核心配置文件都有什么
2014/09/08 面试题
Windows和Linux动态库应用异同
2016/04/17 面试题
应届生文秘专业个人自荐信格式
2013/09/21 职场文书
诚信承诺书模板
2014/05/26 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript