$(function(){ }) 或 window.onload=function(){} 表示頁面加載完成后執行,html文檔從至上而下解析的時候 ; 解析到onclick="showAlert()"方法的時候寫在$(function(){ }) 或 window.onload=function(){} 里的方法還沒有聲明,會報錯。
----------------------------------------
如果將showAlert()方法寫道$(function(){ }) 或 window.onload=function(){} 外,html文檔從至上而下解析會遇到function showAlert(){}的方法,就會在內存中開辟一個新的空間來對函數進行存儲,方便以后進行調用。所以該方法起作用
---------------------------------------
window.onload並不是必須得
同樣由於頁面加載的順序原因及js的書寫的位置原因,window.onload();並不是非要使用的。
當js代碼需要獲取頁面中的元素時,如果script標簽在元素的前面,需要加window.onload;如果script放在了元素后面,就不需要加 window.onload。
---------------------------
window.onload 和 $(function(){})的 區別
window.onload是js原生,$(function(){})需要引用jquery庫才生效
多個window.onload=function(){}只執行最后一個;
多個$(function(){})都執行
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <div onclick="alert(111)">彈框1</div> <!-- showAlert is not defined --> <div onclick="showAlert()">彈框2</div> <div id="click">彈框3</div> </body> </html> <script> window.onload=function(){ function showAlert(){ alert(222); } document.getElementById('click').onclick=function(){ alert(333); } } </script>