首頁  >  文章  >  web前端  >  使用閉包對setTimeout進行簡單封裝避免出錯_javascript技巧

使用閉包對setTimeout進行簡單封裝避免出錯_javascript技巧

WBOY
WBOY原創
2016-05-16 17:29:171073瀏覽

在寫js腳本時,常會用到一些拼字函數的情況,例如呼叫setTimeout

複製程式碼 程式碼如下:

var msgalert="test";
function TestAlert(msg)
{
alert(msg)
}

$(document).ready(document).ready(document).ready(document).ready(document). function () {
$("#btnCancel").click(function (e) {
setTimeout("TestAlert(" msgalert ")",1000);
});
})

查了很久,為什麼就是彈不出對話框。檢查了很久才發現,原來是少了一對單引號
複製程式碼 程式碼如下:

$(document).ready(function () {
$("#btnCancel").click(function (e) {
setTimeout("TestAlert('" msgalert "')",1000 );
});
})

這樣的寫法容易出錯,還不容易檢查出錯誤,如果使用閉包就可完全避免,改寫如下
複製程式碼 程式碼如下:

var msgalert="test";


var msgalert="test";
function ){
setTimeout(
TestAlert(msg),
time
);
}
function TestAlert(msg)
{
alert(msg)
}

$(document).ready(function () {
$("#btnCancel").click(function (e) {
dalayAlert(msgalert,1000)
}) ;
}) 由於使用了閉包,也簡單了很多,檢查錯誤也很容易了
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn