window.onload()函式和jQuery中的document.ready()區別

一宅發表於2019-01-30

Jquery中$(document).ready()的作用類似於傳統JavaScript中的window.onload方法,不過相比較而言還是有區別的。

1.執行時機
  window.onload()是必須等圖片在內的一切元素載入完成後才能執行。
  $(document).ready()是當DOM結構完成後就執行,不必等到全部元素載入完畢。

2.編寫個數
 window.onload()只能編寫一個,當寫多個的時候會把前面所寫的覆蓋,只執行一個。
 $(document).ready()可以寫多個,並且可以同時執行。

3.簡化寫法
 window.onload沒有簡化寫法 
 $(document).ready(function(){})可以簡寫成$(function(){});
 

window.onload() $(document).ready()
執行時機 必須等待網頁中所有的內容載入完畢後(包括圖片)才能執行 網頁中所有DOM結果繪製完畢後就執行,可能DOM元素關聯的東西並沒有載入完
編寫個數
 不能同時編寫多個
 以下程式碼無法正確執行:
 window.load = function() {
 alert("test1");
 };
 window.load = function() {
 alert("test2");
 };
 結果只會輸出“test2”
  能同時編寫多個
  以下程式碼可以正確執行:
  $(document).ready(function(){
  alert("Hello World!");
  });
  $(document).ready(function(){
  alert("Hello again!");
  });
  結果兩次都輸出
簡化寫法 沒有簡化寫法
  $(document).ready(function(){
   ...
  });
  可以簡寫成:
  $(function(){
   ...
  });

相關文章