學習的時候,document.write()被告知是用來將內容寫進頁面里面,同時也被告知document.write()方法會重繪頁面,但是關於什么時候會重繪,什么時候不會重繪頁面沒有太多解釋。
首先,頁面在生成時有一個輸入流的狀態。在頁面加載時這個狀態是自動打開的,這時內容會從上至下添加內容,頁面在加載時會從上到下將內容加載到頁面上,在這個時候,document.write()方法會按照正常的順序被加載,但我們不能准確控制加載的位置,只能根據write()方法調用的位置使其內容放入頁面大概的位置。這時,document.write()方法只是簡單的寫入內容,不會對頁面進行重繪。
而當頁面加載完成之后,會自動的運行document.close()方法,停止頁面加載階段,而我們在進行單擊或者其他事件進行調用時,頁面已經加載完成,這時再使用document.write()方法會重新開始一個新的輸入流,從而會進行重繪頁面。