熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

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

2013-11-15 12:10:23  來源: JSP教程 

  在寫js腳本時經常會用到一些拼寫函數的情況例如調用setTimeout

復制代碼 代碼如下:
var msgalert="test";
function TestAlert(msg)
{
alert(msg)
}

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

  
查了很長時間為什麼就是彈不出對話框呢檢查了很長時間才發現原來是少了一對單引號

復制代碼 代碼如下:
$(document)ready(function () {
$("#btnCancel")click(function (e) {
setTimeout("TestAlert("+msgalert+")");
});
})

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

復制代碼 代碼如下:
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)
});
})

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

 
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20438.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.