js中页面加载完成后执行的几种方式及执行顺序

在js和jquery使用中,经常使用到页面加载完成后执行某一方法。通过整理,大概是五种方式(其中有的只是书写方式不一样)。

1:使用jQuery的$(function){};2:使用jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写方式。两个是document加载完成后就执行方法。

3:使用jQuery的$(window).load(function(){});4:使用window.onload = function(){} 第3种和第4种都是等到整个window加载完成执行方法体。两者也没有区别,只是一个使用dom对象,一个使用jQuery对象。

5:在标签上静态绑定onload事件,<body onload="aaa()">等待body加载完成,就会执行aaa()方法。

那么,这五种方式,执行的先后顺序是怎么样的呢?

通过下方代码验证发现:

        使用1:jQuery的$(function){}和2:jquery的$(document).ready(function(){});无论位置放置在哪里,总是优先其余三种方式(原因是:这两种方式是在document加载完成后就执行,后三种是等到整个window页面加载完成后才执行),这两者之间的执行顺序是谁在上方谁优先执行。

        使用3:jQuery的$(window).load(function(){});和4:window.onload = function bbb(){}这两种方式,总是优先于<body onload="aaa()">执行。他们两者执行顺序也是根据谁在上方谁先执行。

       使用5:<body onload="aaa()">总是最后执行。

  1. <html>  
  2.     <head>  
  3.         <script src="jquery-2.2.3.min.js"></script>  
  4.         <script type='text/javascript'>  
  5.               
  6.             window.onload = function(){  
  7.                 alert("页面加载完成====》onload");  
  8.             }  
  9.               
  10.             $(window).load(function(){  
  11.                 alert("jquery===》window load" );  
  12.             })  
  13.               
  14.             $(document).ready(function () {  
  15.                 alert("jquery====》document ready");  
  16.             });  
  17.               
  18.             $(function(){  
  19.                 alert("jquery====》document onload");  
  20.             });  
  21.               
  22.             function aaa(){  
  23.                 alert("静态标签====》onload");  
  24.             }  
  25.         </script>  
  26.     </head>  
  27.     <body onload="aaa()">  
  28.            
  29.     </body>  
  30. </html>  
原文地址:https://www.cnblogs.com/wssdx/p/8431676.html