最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

定時(shí)器(setTimeout/setInterval)調(diào)用帶參函數(shù)失效解決方法

 更新時(shí)間:2013年03月26日 11:04:09   作者:  
setInterval()方法可按照指定的周期(以毫秒計(jì))來調(diào)用函數(shù)或計(jì)算表達(dá)式,setTimeout()方法用于在指定的毫秒數(shù)后調(diào)用函數(shù)或計(jì)算表達(dá)式,詳細(xì)使用方法可以參考下本文
首先來看下定時(shí)器的用法
1. setInterval(code,millisec[,"lang"])  setInterval() 方法可按照指定的周期(以毫秒計(jì))來調(diào)用函數(shù)或計(jì)算表達(dá)式。
參數(shù) 描述
code 必需,要調(diào)用的函數(shù)或要執(zhí)行的代碼串。
millisec 必需,周期性執(zhí)行或調(diào)用 code 之間的時(shí)間間隔,以毫秒計(jì)。

2.setTimeout(code,millisec) setTimeout() 方法用于在指定的毫秒數(shù)后調(diào)用函數(shù)或計(jì)算表達(dá)式。
參數(shù) 描述
code 必需,要調(diào)用的函數(shù)后要執(zhí)行的 JavaScript 代碼串。
millisec 必需,在執(zhí)行代碼前需等待的毫秒數(shù)。

提示:setTimeout() 只執(zhí)行 code 一次。如果要多次調(diào)用,請(qǐng)使用 setInterval() 或者讓 code 自身再次調(diào)用 setTimeout()。
也許你曾碰到過這樣的問題,不管是setInterval()還是setTimeout(),當(dāng)code參數(shù)里放一個(gè)帶參函數(shù)時(shí),定時(shí)器都會(huì)失效,看下面這個(gè)例子:
復(fù)制代碼 代碼如下:

function test(str){
alert(str);
}
var a = "abcde"
setTimeout(test(a),3000);

執(zhí)行上面代碼,頁面不會(huì)延遲3秒調(diào)用test(a),而是會(huì)立即執(zhí)行test(a),IE、FF、Chrome下都會(huì)出現(xiàn)這個(gè)問題,如果你經(jīng)常用到定時(shí)器,這個(gè)問題應(yīng)該應(yīng)該經(jīng)常會(huì)碰到,那么要怎樣去解決呢?
筆者在這里歸納兩種常用的解決方法,當(dāng)然應(yīng)該也還有其他的解決方法,在這里就不一一贅述。
方法1:用匿名函數(shù)包裹
復(fù)制代碼 代碼如下:

function test(str){
alert(str);
}
var a = "abcde"
setTimeout(function(){
test(a);
},3000);

方法2:用引號(hào)包裹需調(diào)用的函數(shù)
復(fù)制代碼 代碼如下:

function test(str){
alert(str);
}
var a = "abcde"
setTimeout("test('+a+')",3000);

上面只以setTimeout()為例,setInterval()同樣適用,這里就不在過多敘述了。

相關(guān)文章

最新評(píng)論

邯郸县| 阿拉尔市| 辽阳市| 尼木县| 金湖县| 池州市| 利津县| 和平县| 阳春市| 乐亭县| 莒南县| 桓仁| 拜泉县| 普兰店市| 广德县| 菏泽市| 呼伦贝尔市| 淳安县| 庆城县| 旬阳县| 莒南县| 宜兰县| 福泉市| 新龙县| 遂溪县| 巢湖市| 区。| 靖远县| 沽源县| 新丰县| 阜康市| 金堂县| 墨脱县| 浮山县| 克什克腾旗| 博客| 佳木斯市| 德江县| 永宁县| 皮山县| 焉耆|