亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么將倒數代碼函數設置傳遞參數就不能倒數了呢

代碼如下,將倒數時間以num傳遞到倒數函數dCount中,無法實現倒數。

!DOCTYPE html>

<html>

?<head>

? <title>瀏覽器對象</title> ?

? <meta http-equiv="Content-Type" content="text/html; charset=gkb"/> ??

?</head>

?<body>


? <h2>操作成功</h2>

? <span id="second"></span>秒后返回主頁 <a href="javascript:bcak()">返回</a>

? <script type="text/javascript"> ?

dCount(5);

function dCount(num){

? ? ?var i;

? ? ?if(num>0){

? ? ?document.getElementById("second").innerHTML=num;

? ? ?num--;

? ? ?i=setTimeout("dCount(num)",1000);

? ? ?}

? ? ?else{

? ? ? ? clearTimeout(i);

? ? ? ? window.open("www.xianlaiwan.cn","_self");

? ? ?}

}

function back(){

? ? window.history.back();

}

? ?

?</script>?

</body>

</html>


正在回答

1 回答

i=setTimeout("dCount(num)",1000);這一句的遞歸沒有執行,去掉“”應該可以

0 回復 有任何疑惑可以回復我~
#1

我們的洗手間 提問者

按照你的建議,刪除“”并沒有成功,但是你的回答很有啟發性。查了一下setTimeout的參數,書上說:“setTimeout的第一個參數可以使用字符串傳入,如果這樣做,這個字符串會進行求值,相當于eval()”。 而eval()函數是將括號里的字符串轉為代碼執行,也就是說eval("dCount(num)")就會執行dCount(num);。我將eval("dCount(num)")放到函數外面,發現可以正確執行出函數,所以i=setTimeout("dCount(num)",1000)沒有被執行的原因應該并不在于識別不出這個函數。
2016-03-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么將倒數代碼函數設置傳遞參數就不能倒數了呢

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號