使用闭包对setTimeout进行简单封装避免出错
使用闭包对setTimeout进行简单封装避免出错
发布时间:2016-12-30 来源:查字典编辑
摘要:在写js脚本时,经常会用到一些拼写函数的情况,例如调用setTimeout复制代码代码如下:varmsgalert="test";funct...

在写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教程学习
编程开发子分类