無論是window.setTimeout照樣window.setInterval.在應(yīng)用函數(shù)名作為挪用句柄時不能帶參數(shù),而在很多場所必需要帶參數(shù),而在很多場所必需要帶參數(shù),這就需要想辦法辦理,比方對付函數(shù)hello(_name),它用于針對用戶名表現(xiàn)迎接信息:
var username="jack";
//依據(jù)用戶名表現(xiàn)迎接信息
function hello(_name)
{
alert("hello,"+_name);
}
這時候,假如妄圖應(yīng)用如下語句來使hello函數(shù)提早3秒履行是弗成行的.
window.setTimeout(hello(userName),3000);
這將使hello函數(shù)立刻履行,并將前往值作為挪用句柄傳遞給setTimeout函數(shù),其停止并非法式需要的,而應(yīng)用字符串情勢能夠到達想要的成果.
window.setTimeout("hello(username)",3000)
這里的字符串是一段javascript代碼,此中userName表現(xiàn)的是變量,但這類寫法不敷直觀,并且有些場所必需應(yīng)用函數(shù)名.