栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

使用闭包对setTimeout进行简单封装避免出错

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用闭包对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)
});
})

由于使用了闭包,也简单了很多,检查错误也很容易了
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/110854.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号