0

JavaScript では、コンストラクター関数からインスタンス化されたオブジェクトの命名規則はありますか?

たとえば、コンストラクター関数を次のように設定したとします。

function Dance(style, timing) {
    this.style = style; // for reflection
    this.timing = timing;
}

var waltz = new Dance('waltz' , '3/4');
var rumba = new Dance('rumba' , '4/4');

したがって、コンソール コマンドは次のようになります。

コンソール> waltz.timing
 3/4

コンソール> ルンバ.タイミング
 4/4

私が探しているのは、ワルツとルンバがインスタンス化されたオブジェクトであるという規則です。「o」を前に付けるのが好きですか?

var oWaltz = new Dance('waltz' , '3/4');
var oRumba = new Dance('rumba' , '4/4');

私は実際に(あえぎ!)この質問をする前にグーグルで検索し、少し下調べをして、次のことを思いつきました:

を。Crockford の「JavaScript: The Good Parts」。最も注目すべきは、実際のコンストラクター関数で大文字を使用することを彼が推奨していることです。

すべてのコンストラクター関数は、最初に大文字で名前を付けるという規則があります (Pg. 49)。

わかりましたが、これらのコンストラクター関数のインスタンスに関する規則は見当たりません。彼の例はすべて「my」という接頭辞が付いています..

var myTango = new Dance('tango' , '4/4');

コンソール> myTango.timing
 4/4

...これは例としては優れていますが、合理的な規則ではありません。

b. また、「o」接頭辞を「ハンガリー語方言」と呼んでいるこのスレッドも掘り起こしましたが、それは時代遅れとも呼んでいます: 「o」は可変接頭辞として何を意味しますか?

c. 次のように、jQuery ラップ セットを含む変数の前に "$" を付ける規則もあります。これにより、ページ上のすべての <button> タグが選択され、jQuery ラップ セットが作成され、それが $buttons 変数に割り当てられます。

$buttons = $('button');

d. 最後に、「JavaScript オブジェクト インスタンス プレフィックス」を Google で簡単に検索すると、プライベート関数のアンダースコア「_」規則が表示されます。この例で、プライベート プロトタイプ関数を追加するとしたら、次のようになります。

Dance.prototype._lessonCost = function(minutes) { return ($1.50 * minutes); }

繰り返しますが、これは実際には何の助けにもなりません。

ここまでたどり着いたら、答えてくれてありがとう :^) 何かが足りない気がします。私の技術に根本的な欠陥があるように。

4

1 に答える 1

0

それが標準かどうかはわかりませんが、通常、オブジェクトのインスタンスは小文字で始まり、残りはキャメルケースです。私は接頭辞を認識しておらず、これにより多くの余分なコードがクライアントに渡されるだけだと思います。

var myObject = new MyObject();
于 2012-12-14T19:46:38.260 に答える