5

Ruby のバックグラウンドを持っているため、メソッドなどを含むクラスを使用してすべてのコードを記述することに慣れています。私は JavaScript をよく知っていますが、jQuery とそのベスト プラクティスは初めてです。

明らかに、javascript でクラスをシミュレートする方法は無数にあります。しかし、実際の jQuery コミュニティは実際に何を実際に使用しているのでしょうか?

具体的な例が理想的です。または、実際の製品コードへのリンク。架空の理想的なコードへのリンクも役立ちます。

ありがとう!

4

3 に答える 3

3

これは特に jQuery に当てはまるわけではありませんが、自分のコードでクラスをシミュレートするためのオブジェクト リテラル構文が気に入っています。

http://ajaxian.com/archives/show-love-to-the-object-literal

私はよく、この (簡略化された) フレームワークのようなものを使用する傾向があります。

var Widget = {

    sound:'bleep',

    load:function(){

        // do stuff here that doesn't need to wait until the DOM is ready.

        // Inside an anonymous function (such as the 'click' handler below),
        // 'this' loses its scope and no longer refers to the widget object.
        // To retain a reference to the widget object, assign 'this' to a
        // variable. I use an underscore... some people like 'self':
        var _ = this;

        // when the DOM is ready, run the init "method":
        $(document).ready(function(){
            _.init(); // the underscore now refers to the widget object
        });

    },

    init:function(){

        var _ = this;

        // whenever a <p class="noisy"> element is clicked, call makeNoise()
        $("p.noisy").click(function(){
            _.makeNoise();
        });

    },

    makeNoise:function(){

        alert(this.sound); // alert 'bleep'

    }

};

Widget.load();

編集:上記の「this」キーワードの使用に関する詳細:

http://groups.google.com/group/jquery-en/browse_thread/thread/328d07f90467cccc?pli=1

于 2008-10-21T15:22:21.347 に答える
2

インスピレーションを得るためにここから始めます。

http://errtheblog.com/posts/73-the-jskinny-on-jquery

于 2008-10-17T15:29:36.357 に答える
0

私は現在のプロジェクトでjQueryを使用して同じ問題に苦しんでおり、jQueryについても同じように感じています。それは大きな不可解なメソッドチェーンのようなものです。そして、それが大きくなると、私が以前に書いたことを理解するのにより多くの時間がかかります。

より保守しやすいjQueryコードを作成するために私が見つけた唯一の方法は、モジュールパターンです。おそらくそれは便利かもしれません。また、同じ問題に関するトレーニングホイールの有無にかかわらず、Ajaxian jQueryとプロトタイプ:オブジェクト指向JavaScriptの記事を見ることができます。

于 2010-01-26T11:41:42.840 に答える