$(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) 
}); 
}) 
 
由于使用了闭包,也简单了很多,检查错误也很容易了