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