setTimeout調用帶參數的函數的方法


function ShowEncrypFavoriteDetail(obj, articleID) {
    var value = '/' + articleID;
    $("#detail_iframe").attr("src", value);

    setTimeout(function () { ClearRedDot(obj); }, 2000)

}
function ClearRedDot(obj) {
    var userName = getLoginUserName();
}

 

function ClearRedDot(obj) { var userName = getLoginUserName(); }

function test(s)

{
    alert(s);
}
window.setTimeout(function(){test('str');},1000);
這樣就可以了...
為什么是這樣呢.
因為setTimeout要求的第一個參數是函數...比如setTimeout(a_fun,1000)這樣是可以的,a_fun是一個函數.
但是setTimeout(a_fun(),1000);這樣就不行了.因為這里a_fun()其實是函數的返回值了...這樣講應該能明白了.
另外,不推薦網上有人用的方法setTimeout('test(1)',1000);這樣的形式,因為這個有很多情況下是不實用的.
如果實在要用這種方法,只能這樣:setTimeout("test('"+param+"')",100);這種方式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM