DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> 使用閉包對setTimeout進行簡單封裝避免出錯
使用閉包對setTimeout進行簡單封裝避免出錯
編輯:JavaScript綜合知識     

在寫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)
});
})


由於使用了閉包,也簡單了很多,檢查錯誤也很容易了

 
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved