jQueryでは$(function(){})と(function($){})(jQuery)、$(document).ready(function(){})等の

1399 ワード

2015-01-26 15:428570人読書コメント(3)コレクション通報
1、(function($) {…})(jQuery);
1)、原理:
これは実際には匿名関数で、次のようになります.
function(arg){...}これはargのパラメータを持つ匿名関数を定義する
関数を呼び出すときは、関数の後ろにカッコと実パラメータを書きます.オペレータの優先度のため、関数自体もカッコを使う必要があります.すなわち、パラメータargの匿名関数を定義し、paramをパラメータとして匿名関数を呼び出すことに相当します.
(function($){...})(jQuery)は同じで、形パラメータのみで$を使用するのは、他のライブラリと衝突しないためであるため、実パラメータjQueryはfuntion output(s){...}に相当する.output(jQuery);あるいはvar fn=function(s){...};fn(jQuery);
2)、作用(非常に役に立つ):
この書き方の最大のメリットは、閉パッケージを形成することです.(function($){...})(jQuery)内部で定義された関数と変数は、この範囲内でのみ有効です.
関数関数、プライベート変数の概念を形成するかどうか.例:
[javascript]
view plain
copy
print
?
var i=3;
  • function init(){

  • alert(「外層init:」+i);
  • }

  • (function($) {
  • var i=2;

  • function init(){
  • alert(「内層init:」+i);

  • }

  • init();
  • })(jQuery);

  • init();
    var i=3;
    function init(){
        alert("  init:"+i);
    }
    (function($) {
    	var i=2;
    	function init(){
    	    alert("  init:"+i);
    	}
    
    	init();
    })(jQuery);
    init();
    

    実行結果:
     
    内層init:2
    外層init:3
     
    2、$(function(){…}); jQuery(function($) {…}); $(document).ready(function(){…})
    この3つの作用は同じで、私は比較的に第1種を使う必要があって、書くのが簡単です.
    ドキュメントの読み込みが完了した後に実行される関数.