$(document).ready(function(){ }); 和 (function () {})(); 有一些區(qū)別。
-
$(document).ready(function(){ });是jQuery提供的方法,用于在DOM加載完成后執(zhí)行回調函數。它確保在操作DOM元素之前,先等待整個文檔加載完畢。這通常用于確保在操作或訪問DOM元素之前,這些元素已經完全加載和準備好。這種方式可以防止在DOM未完全加載時執(zhí)行操作而導致錯誤。
示例:$(document).ready(function() { // 在這里執(zhí)行DOM操作 }); -
(function () {})();是立即執(zhí)行函數表達式(IIFE)的一種形式。它是一個自執(zhí)行的匿名函數,會在定義后立即執(zhí)行。這種方式常用于創(chuàng)建一個獨立的作用域,避免變量污染全局命名空間。同時,它還可以用于封裝代碼和模塊化開發(fā)。
示例:(function() { // 在這里執(zhí)行代碼 })();
所以,區(qū)別主要在于功能和用途上。$(document).ready(function(){ }); 用于在DOM加載完成后執(zhí)行回調函數,而 (function () {})(); 是立即執(zhí)行函數表達式,用于創(chuàng)建一個獨立的作用域和封裝代碼。
需要注意的是,現代的jQuery版本已經推薦使用簡化的形式 $(function() { }); 來替代 $(document).ready(function(){ });,它們的功能是相同的。