使用闭包对setTimeout进行简单封装
2013-07-10 14:39
405 查看
在写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(
function(){TestAlert(msg)},
time
);
}
function TestAlert(msg)
{
alert(msg)
}
$(document).ready(function () {
$("#btnCancel").click(function (e) {
dalayAlert(msgalert,1000)
});
})
由于使用了闭包,也简单了很多,检查错误也很容易了
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(
function(){TestAlert(msg)},
time
);
}
function TestAlert(msg)
{
alert(msg)
}
$(document).ready(function () {
$("#btnCancel").click(function (e) {
dalayAlert(msgalert,1000)
});
})
由于使用了闭包,也简单了很多,检查错误也很容易了
相关文章推荐
- 使用闭包对setTimeout进行简单封装避免出错
- 使用Retrofit和Rxjava对联网进行简单封装
- 【Android】Retrofit的使用(3)-对Retrofit进行简单的封装
- Android Studio下使用JAVA+Appium进行自动化测试及简单封装
- 第十七天dbutils的使用------Commons DbUtils(Apache)第三方的:只是对JDBC编码进行了简单的封装
- 1个比较简单的使用java反射机制获取前台数据进行数据封装的例子
- 使用C++进行WMI查询的简单封装
- GreenDao数据库框架 最精简使用教程 并对其进行简单封装
- Android安卓使用iosocket进行Socket通信简单封装优雅写代码
- Javascript浮动广告图片代码,已封装!兼容性强!使用简单!
- 【转】Android通知的使用及简单二次封装
- Python学习21:Python中函数的用法,使用函数进行简单的数学运算
- !!使用Caffe对图片进行训练并分类的简单流程
- ijkplayer 第三方封装简单使用
- 使用python进行简单的猜数字游戏(while循环)
- 使用 JointCode.Shuttle 进行跨 AppDomain 通信的一个简单示例
- Spring Data MongoDB 使用group和unwind实现对数组数据进行简单统计
- 简单的activemq的封装和使用
- java使用UDP来进行客户端和服务器端通信的简单例子