#深入解析# JQuery 中 $(function(){ }) 解析

jquery中的 “ $ (function(){ })” 语句和原生JS中的 window.onload 类似,但两者也有些许的不同:
:“ $ (function(){…})”是 $ (document).ready(function(){…})的简写形式,是在DOM加载完成后调用执行的回调函数,并且只会执行一次。

1.加载的阶段不同

  1. 原生JS会等到DOM元素加载完毕,并且图片也加载完毕再执行;
  2. jquery会等到DOM元素加载完毕,但不会等到图片也加载完毕就会执行;
    因此 $(function(){ }) 语句会先于 window.onload 执行

2.函数覆盖问题

  1. 原生js在编写多个入口函数时,后面编写的会覆盖前面编写的,系统只执行最后定义的 window.onload
  2. 在jquery中编写了多个入口函数,后面编写的不会覆盖前面斌写的,编写多个入口函数,函数会依次全部执行

3.实例

$(function () {
    console.log("ready执行");
});
 
$(function() {
    console.log("ready1执行");
});
 
window.onload = function () {
    console.log('load执行');
};
window.onload = function () {
    console.log('load1执行');
}

执行结果如下:

ready执行
ready1执行
load1执行

版权声明:本文为lch551218原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。