JavaScript、jqueryクロージャの概念分析_javascriptスキル

WBOY
リリース: 2016-05-16 18:24:52
オリジナル
1020 人が閲覧しました

しかし、私は JavaScript を頻繁に使用するので、それに含まれる概念を理解する必要があります。
実際、JavaScript のクロージャーの概念は非常に単純です。つまり、関数は外部変数を使用し、パラメーターを渡さずに取得できます。
例:

コードをコピー コードは次のとおりです:

var sMessage = "Hello world";
関数 SayHello(){
alert(sMessage);
addNumber(1,2); 🎜>
var iBaseNum = 10;
function addNumber(iNum1, iNum2) {
function doAddition() {
alert(iNum1 iNum2 iBaseNum)
return doAddition(); ;
}
関数 a(){
var i=0;
関数 b(){
}
return

var c();
c();


最初の関数は渡されないパラメータは、クロージャと呼ばれる sMessage 変数を直接使用します。
2 番目の関数はより複雑です。これもクロージャ関数であり、実行環境で iNum1、iNum2、および外部変数 iBaseNum を直接取得します。
3 番目の関数は、変数 i へのアクセスを保護し、常に i をメモリに保存し、増加し続けることができます。 (クロージャの古典的な使用法)
jquery のクロージャも似ています。最初に例を挙げましょう

質問するかもしれません



コードをコピー


コードは次のとおりです。
(function($){ $("div p").click(function(){alert("cssrain! ") }); })(jQuery); //クロージャ これはどうやって書くのでしょうか?
心配しないでください。私も UPC にアドバイスを求めて、少し理解しました。
ここでの$は単なる仮引数ですが、jqueryはグローバル変数なので関数を呼ばなくても自動的に実行されるか、関数を書いてから呼び出すという2ステップで通常の関数に変換することができます。それ。
以下に示すように
実際:



コードをコピーします


コードは次のとおりです:

( function($){ $("div p").click(...); })(jQuery);

コードをコピー


コードは次のとおりです:


function tempFunction($){ //関数を作成します$ を仮パラメータとして使用します


コードをコピーしてください


コードは次のとおりです:


(function(cssrain ){
cssrain("div p").click(.... );
})(jQuery);クロージャ クロージャ 基本的な書き方: (function(){do someting})(); //匿名関数を定義して実行すると理解できます。
パラメータを指定すると、次のようになります。
(function(仮パラメータ){何かを行う})(実際のパラメータ)
さらに
(function(){var upc="i am upc"})();
alert(upc);
はい プロンプトが未定義です。
クロージャ後は内部の変数がローカルと同等になるためです。
クロージャーの利点:
追加のグローバル変数は追加されません。
実行中のすべての変数は匿名関数内にあります。
上記の例はあまり良くなく、JavaScript クロージャと少し混同されていますが、実際には jquery のクロージャです。 jQueryで処理しているだけです。
もし何かあったら、お互いに話し合ってください。私も初心者なので、まだまだ分からないことがたくさんあります。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート