私はしばらくの間jQueryを使用していますが、これは通常非常に単純なjQueryです。私はちょうど著者がPub Sub Patternと呼ばれる何かを使用するビデオチュートリアルを見ました。私は前にそれを聞いたことがないので、私は、説明のためにStackOverflowのとGoogleで検索しました:この例のjQuery&Pubサブパターンの理解
しかし、それはあることに特に理由コードで、まだ私にははっきりしていません上記のチュートリアルの著者が使用しています。だから、私はここに、このコードを貼り付けますし、あなたは私に説明を与えることができる場合:ここでは
1.はpubsub.jsをという名前の最初の.jsファイルである、と私はそれを理解していない:
(function($) {
var o = $({}); // ??? what is this ???
$.subscribe = function() { // ??? and this ???
o.on.apply(o, arguments); // ??? o.on.apply(o, arguments) ???
};
$.unsubscribe = function() { // ??? and this ???
o.off.apply(o, arguments); // ??
};
$.publish = function() { // ??? and this ???
o.trigger.apply(o, arguments); // ?? o.trigger.apply(o, arguments); ??
};
}(jQuery));
を
私は、jQueryを使用して$(document).ready()
または$(function()
を使用できますが、私は今まで見たことがないことを知っています(function($) { ... }(jQuery));
- これは何を意味するのですか?また、私は、コードの残りの部分を理解していない...
2.次のファイルがapp.jsあり、それは含まれています
(function() {
$.subscribe('form.submitted', function() {
$('.flash').fadeIn(500).delay(1000).fadeOut(500);
})
});
これは実際に何をしますか?ここでも、(function() { ... });
は何を意味するのですか?残りのコードについては、$.subscribe('form.submitted', function() {
に説明してください。
$.publish('form.submitted', form); // publish?
これも私には明らかではない。
3.最後に、我々はこのようなものを持っています。
私はこのすべてがjQueryを使ってPubSubのパターンの基本的な実装であることを理解し、誰かが(このパターンを使用して)、このようにするだろう、なぜ私はまだ得ることはありませんが、私はthat answer on Stackoverflowを読みましたが、それはですまだ私には不明です...私はこのコードを理解すれば、このパターンをいつ、どのように、いつ使うべきか、私には明らかになると思います。
簡単な答えは、オブジェクトにバインドされたカスタムイベントのようです。関連項目[(function(){})()構造体とは何か](http://stackoverflow.com/questions/8228281/what-is-the-function-construct-in-javascript) – charlietfl