azu / JavaScript-Plugin-Architecture

JavaScriptプラグインアーキテクチャの本
https://azu.github.io/JavaScript-Plugin-Architecture/
MIT License
250 stars 12 forks source link

jQuery Plugin #8

Closed azu closed 9 years ago

azu commented 9 years ago

jQueryのプラグインについて

どう書ける?

<script src="jquery.js"></script>
<script src="something.js"></script>

と読み込ませると、jQueryオブジェクトで拡張したメソッド使えるようになる。

$('.class-name').something();

どういう仕組み?

$.fn に拡張したいメソッドを追加すると、jQueryオブジェクトにそのメソッドが追加される。 prototypeに対して拡張するのと同じ

$.fn.something = function() {
    console.log("something");
};

チェックシート

azu commented 9 years ago

同じテーマでそれぞれ話しを進めるべきか? No, 目的としてはそれぞれの方式がどういう所に向いていて、それを確認できることとしたい。

azu commented 9 years ago

CONTRIBUTING.md に書くポイントまとめた

azu commented 9 years ago

jQuery拡張の仕組み 〜 JSおくのほそ道 #013 - Qiita

azu commented 9 years ago

Plugins | jQuery Learning Center にprototype拡張すると書いてあるのでそういう趣旨なんだな。 new を使わない拡張パターンみたいな

azu commented 9 years ago

jQueryプラグインの向いてないところを考える

結局はただのprototype プラグインからなんでも出来るので制御が難しい このインスタンスにはプラグインを無効化するといた個別制御が欠如

azu commented 9 years ago

プラグイン全体の話として、本体のコア機能もプラグインで実装されているかという話があるとよさそう。 このコア機能がプラグインであることのメリットについて調べる必要がありそう

azu commented 9 years ago

jQuery.extendとjQuery.fn.extendとプロトタイプチェイン - (゚∀゚)o彡 sasata299's blog 違いについて。クラスメソッドとインスタンスメソッド

azu commented 9 years ago

jQuery.fn https://github.com/jquery/jquery/blob/9d820fbde6d89bc7a06e2704be61cf6c0b4d6e3c/src/core.js#L37-L37