使用闭包对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 相关文章推荐
JS 文件大小判断的实现代码
Apr 07 Javascript
理解Javascript_03_javascript全局观
Oct 11 Javascript
window.location.href的用法(动态输出跳转)
Aug 09 Javascript
Egret引擎开发指南之运行项目
Sep 03 Javascript
js实现的四级左侧网站分类菜单实例
May 06 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
Jun 29 Javascript
Angularjs上传图片实例详解
Aug 06 Javascript
vue2.0 路由不显示router-view的解决方法
Mar 06 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
Dec 20 Javascript
JS实现json数组排序操作实例分析
Oct 28 Javascript
Windows上node.js的多版本管理工具用法实例分析
Nov 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
微信公众平台开发之配置与请求
2015/08/26 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
Vue——前端生成二维码的示例
2020/12/19 Vue.js
python检测服务器是否正常
2014/02/16 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
python如何保存文本文件
2020/06/07 Python
python打开音乐文件的实例方法
2020/07/21 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
澳大利亚音乐商店:Bava’s Music City
2019/05/05 全球购物
销售心得体会
2014/01/02 职场文书
买房子个人收入证明
2014/01/16 职场文书
便利店投资创业计划书
2014/02/08 职场文书
社会实践先进工作者事迹材料
2014/05/06 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
捐资助学感谢信
2015/01/21 职场文书
邀请函范文
2015/02/02 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP