使用闭包对setTimeout进行简单封装避免出错
更新时间:2013年07月10日 17:13:08 作者:
写js脚本时经常会用到一些拼写函数的情况,例如调用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)
});
})
由于使用了闭包,也简单了很多,检查错误也很容易了
复制代码 代码如下:
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)
});
})
由于使用了闭包,也简单了很多,检查错误也很容易了
相关文章
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
这篇文章主要介绍了Bootstrap编写一个兼容IE8、谷歌等主流浏览器的受众巨幕式风格页面,感兴趣的小伙伴们可以参考一下2016-07-07promise和co搭配生成器函数方式解决js代码异步流程的比较
这篇文章主要介绍了promise和co搭配生成器函数方式解决js代码异步流程的比较,在es6中引入的原生Promise为js的异步回调问题带来了一个新的解决方式co模块搭配Generator函数的同步写法,更是将js的异步回调带了更优雅的写法。感兴趣的小伙伴们可以参考一下2018-05-05JavaScript中innerHTML,innerText,outerHTML的用法及区别
在javascript中如果我们要获取对象内容,js为我们提供了三种方法outerhtml、innerhtml和innertext,但他们之间具体怎么使用与具体的区别在哪里,可能很多人不知道吧,接下来跟着小编一起来学习innerHTML,innerText,outerHTML的用法及区别吧。2015-09-09QTreeWidget中MainWindow窗体中布局器不起作用详解
本文主要介绍了QTreeWidget中MainWindow窗体中布局器不起作用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-04-04
最新评论