3

私はTinyMCEコードを勉強していて、パブリック メソッドを公開するこの方法に出くわしました。

tinymce.extend(this, {
    execCommand : execCommand,
    queryCommandState : queryCommandState,
    queryCommandValue : queryCommandValue,
    addCommands : addCommands
});

代わりに以下のコードを使用できる場合、上記を書くことの利点は何ですか (同じタスクに必要なコード行と実行時間が少なくなります!)

this.execCommand = execCommand;
this.queryCommandState = queryCommandState;
this.queryCommandValue = queryCommandValue;
this.addCommands = addCommands;

またはさらに短く、オブジェクトの宣言のどこかで:

execCommand: execCommand,
queryCommandState: queryCommandState,
queryCommandValue: queryCommandValue,
addCommands: addCommands

キャッチはどこですか?

4

1 に答える 1

2

私が最初に目にしたのは、 TinyMCEがその関数の引数を期待するメソッドであるという最初のサンプルです。extend

のソースを一瞥すると、extend各キーと値のペアをチェックしundefined、それらが定義されている場合にのみオブジェクトに追加します。そのため、クラスを拡張するときに役立つ追加機能が少しあります。

于 2011-05-25T05:38:07.657 に答える