我是靠谱客的博主 缥缈学姐,这篇文章主要介绍使用闭包对setTimeout进行简单封装避免出错,现在分享给大家,希望可以做个参考。

在写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)
});
})

由于使用了闭包,也简单了很多,检查错误也很容易了

最后

以上就是缥缈学姐最近收集整理的关于使用闭包对setTimeout进行简单封装避免出错的全部内容,更多相关使用闭包对setTimeout进行简单封装避免出错内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(209)

评论列表共有 0 条评论

立即
投稿
返回
顶部