2014-01-08 44 views
1

我的代碼首先產生以下兩行:線消失

 
1,2,3,4,5 
1,2,3,4 

然後它產生這些線,並且在這兩個消失:

 
1,2,3 
1,2 
1 

這究竟是爲什麼?

var arr=[1,2,3,4,5]; 

document.write(arr+"</br>"); 

function popit() { 
    if(arr.length>0) { 
     arr.pop(); 
     if(arr.length<=0) { 
      clearTimeout(p); 
      document.write("end"); 
     } 
     var p=setTimeout(popit,1000); 
     document.write(arr); 
     document.write("</br>"); 
    } 
} 
window.onLoad=popit(); 
+0

入住這裏http://stackoverflow.com/questions/802854/why-is-document-write-considered-a-bad-practice – elclanrs

回答

1

當您使用document.write()後的頁面加載完成後,你是,通過使用window.onLoad=popit(),這將從根本上清除體內的HTML和開始添加新的內容。請勿使用document.write()。如果必須輸出到屏幕,請添加到document.body.innerHTML

或者,你可以只console.log(arr)