onload和ready的區別
document.ready和onload的區別為:加載程度不同、執行次數不同、執行速度不同。
1、加載程度不同
document.ready:是DOM結構繪制完畢后就執行,不必等到加載完畢。意思就是DOM樹加載完畢就執行,不必等到頁面中圖片或其他外部文件都加載完畢。
onload:是頁面所有元素都加載完畢,包括圖片等所有元素。
2、執行次數不同
document.ready可以寫多個.ready,可以執行多次,第N次都不會被上一次覆蓋。
onload只能執行一次,如果有多個,那么第一次的執行會被覆蓋。
3、執行速度不同
onload除了要等待DOM被創建還要等到包括大型圖片、音頻、視頻在內的所有外部資源都完全加載。如果加載圖片和媒體內容花費了大量時間,用戶就會感受到定義在onload事件上的代碼在執行時有明顯的延遲。
document.ready函數只需對 DOM 樹的等待,而無需對圖像或外部資源加載的等待,從而執行起來更快。