私は最近、最初の簡単なjQueryプラグインを作成しました。私は誇りに思う。jQueryプラグインはどのようにグローバル状態を維持しますか?
http://jsfiddle.net/johnhoffman/wSeLY/1/
(function($) {
$.fn.makeRed = function() {
return this.each(function() {
$(this).css("color", "#f00");
});
}
})(jQuery);
それはしかし動作しますなぜ私が疑問に思って。 jQueryオブジェクトをすぐに実行されるこの囲まれた関数に渡します。
その後、| $ |オブジェクトはその無名関数内のローカル変数ですか?どのようにグローバルなシングルトンjQueryオブジェクトを変更するのですか?
つまり、私はちょうど$.fn.myFunctionName
経由で関数を$ |囲まれた関数のローカル?どのようにグローバルjQueryオブジェクトを変更し、自分のスクリプトのグローバルスコープ全体でセレクタに私の関数(makeRed
)を利用できるようにするのですか?
クロージャがどのように機能するかを読んでください。 – Interrobang