$,document.ready

$(function(){

  //do someting

});

$(document).ready(function(){

  //do someting

});

$().ready(function(){

    //do someting

})

这三种方法都是JQuery的方法,写法不一样,但是效果一样。

2.这三个写法和$(window).load(function(){...})、onload()的区别

2.1.加载多个函数的问题

  <body onload="a();b();">

  </body>

  在Onload事件中只能这样加载,很丑陋…而在JQuery中你可以利用多个JQuery.Ready()方法,它们会按次序依次执行

2.2代码和内容不分离

这个貌似不用说了,让人深恶痛绝-.-!!

3.3执行先后顺序不同

对于Body.Onload事件,是在加载完所有页面内容才会触发,我的意思是所有内容,包括图片,flash等.如果页面的这些内容很多会让用户等待很长时间.

而对于$(document).ready()方法,这个方法只是在页面所有的DOM加载完毕后就会触发,无疑很大的加快了网页的速度.

但是对于一些特殊应用,比如图片的放大缩小,图片的剪裁。需要网页所有的内容加载完毕后才执行的呢?我推荐使用$(window).load()方法,这个方法会等

到页面所有内容加载完毕后才会触发,并且同时又没有OnLoad事件的弊端.

3.(function($){})(jQuery)

(function() {

alert("hi");//不一定在dom加载完执行,所以要操作dom对象时需要注意

})(jQuery)

3.1首先(function(){})()这种写法 是创建了一个匿名的方法并立即执行(function(){})这个是匿名方法后面的括号就是立即调用了这个方法)。这样做可以创建一个作用域以保证内部变量与外部变量不发生冲突,比如$ jQuery 等jquery内部定义的变量。

3.2 (function($){})(jQuery) 这个写法主要的作用还是保证jquery不与其他类库或变量有冲突 首先是要保证jQuery这个变量名与外部没有冲突(jquery内部$与jQuery是同一个东西 有两个名字的原因就是怕$与其他变量名有冲突二jQuery与其他变量冲突的几率非常小)并传入匿名对象,匿名对象给参数起名叫做$(其实和jquery内部是一样的) 然后你就可以自由的在(function($){})(jQuery)里写你的插件而不需要考虑与外界变量是否存在冲突。

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2 <HTML>
 3  <HEAD>
 4   <script type="text/javascript" src="jquery-1.7.2.min.js" charset="utf-8" ></script>
 5  </HEAD>
 6  <BODY onload="alert('onload')">
 7      <script  type="text/javascript" charset="utf-8" >
 8          
 9 
10          $(function(){
11              alert("$(function()");
12          });
13          $(document).ready(function(){
14              alert("$(document).ready");
15          });
16          $().ready(function(){
17             alert("$().ready(function()");
18         })
19         //上面三个方法是级别是一样的,按代码的先后顺利执行,是在dom对象加载完
20         
21         $(window).load(function() {
22              alert("$(window).load(function()");//是在图片,flash等加载完执行
23         });
24 
25         (function() {
26             alert("hi");//不一定在dom加载完执行,所以要操作dom对象时需要注意
27         })(jQuery)
28 
29         //弹出先后顺利是:hi-> $(function() -> $(document).ready -> $().ready(function() -> onload -> $(window).load(function()
30      </script>
31 
32  </BODY>
33 </HTML>

<转载自:http://www.cnblogs.com/allensoft/archive/2014/04/10/3656202.html>

$(function(){

  //do someting

});

$(document).ready(function(){

  //do someting

});

$().ready(function(){

    //do someting

})

这三种方法都是JQuery的方法,写法不一样,但是效果一样。

2.这三个写法和$(window).load(function(){...})、onload()的区别

2.1.加载多个函数的问题

  <body onload="a();b();">

  </body>

  在Onload事件中只能这样加载,很丑陋…而在JQuery中你可以利用多个JQuery.Ready()方法,它们会按次序依次执行

2.2代码和内容不分离

这个貌似不用说了,让人深恶痛绝-.-!!

3.3执行先后顺序不同

对于Body.Onload事件,是在加载完所有页面内容才会触发,我的意思是所有内容,包括图片,flash等.如果页面的这些内容很多会让用户等待很长时间.

而对于$(document).ready()方法,这个方法只是在页面所有的DOM加载完毕后就会触发,无疑很大的加快了网页的速度.

但是对于一些特殊应用,比如图片的放大缩小,图片的剪裁。需要网页所有的内容加载完毕后才执行的呢?我推荐使用$(window).load()方法,这个方法会等

到页面所有内容加载完毕后才会触发,并且同时又没有OnLoad事件的弊端.

3.(function($){})(jQuery)

(function() {

alert("hi");//不一定在dom加载完执行,所以要操作dom对象时需要注意

})(jQuery)

3.1首先(function(){})()这种写法 是创建了一个匿名的方法并立即执行(function(){})这个是匿名方法后面的括号就是立即调用了这个方法)。这样做可以创建一个作用域以保证内部变量与外部变量不发生冲突,比如$ jQuery 等jquery内部定义的变量。

3.2 (function($){})(jQuery) 这个写法主要的作用还是保证jquery不与其他类库或变量有冲突 首先是要保证jQuery这个变量名与外部没有冲突(jquery内部$与jQuery是同一个东西 有两个名字的原因就是怕$与其他变量名有冲突二jQuery与其他变量冲突的几率非常小)并传入匿名对象,匿名对象给参数起名叫做$(其实和jquery内部是一样的) 然后你就可以自由的在(function($){})(jQuery)里写你的插件而不需要考虑与外界变量是否存在冲突。

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2 <HTML>
 3  <HEAD>
 4   <script type="text/javascript" src="jquery-1.7.2.min.js" charset="utf-8" ></script>
 5  </HEAD>
 6  <BODY onload="alert('onload')">
 7      <script  type="text/javascript" charset="utf-8" >
 8          
 9 
10          $(function(){
11              alert("$(function()");
12          });
13          $(document).ready(function(){
14              alert("$(document).ready");
15          });
16          $().ready(function(){
17             alert("$().ready(function()");
18         })
19         //上面三个方法是级别是一样的,按代码的先后顺利执行,是在dom对象加载完
20         
21         $(window).load(function() {
22              alert("$(window).load(function()");//是在图片,flash等加载完执行
23         });
24 
25         (function() {
26             alert("hi");//不一定在dom加载完执行,所以要操作dom对象时需要注意
27         })(jQuery)
28 
29         //弹出先后顺利是:hi-> $(function() -> $(document).ready -> $().ready(function() -> onload -> $(window).load(function()
30      </script>
31 
32  </BODY>
33 </HTML>

<转载自:http://www.cnblogs.com/allensoft/archive/2014/04/10/3656202.html>