2011-06-08 3 views
0

こんにちは、残念ながら146個のオプションがあるプラグインをビルドしています...jQueryは、デフォルトのプラグインオプションをマージ(削減)しました。

オプションをマージ(最適化)するにはどうすればよいですか。

私の貧しい私の英語のために申し訳ありません。

例:

は、我々は二つの異なる要素に別の色を適用したいとしましょう。

通常のデフォルトオプション:

elemColor1:'black', 
elemColor2:'red', 

と、このようにそれらを使用します。

elem1.css('color',options.elemColor1); 
elem1.css('color',options.elemColor2); 

や配列など?

elemColor:['black','red'], 

と、このようにそれらを使用します。

elem1.css('color',options.elemColor[0]); 
elem2.css('color',options.elemColor[1]); 

またはオブジェクトとして?このような

elemColor:{color1:'black',color2:'red'}, 

とそれらを使用する:

我々はデフォルト以外のパラメータを設定している場合、我々はelemColorの第2引数を忘れるという問題を抱えている配列またはオブジェクトとして渡された場合
elem1.css('color',options.elemColor.color1); 
elem2.css('color',options.elemColor.color2); 

elemColor:['green'], 

次にjQueryのプラグインはデフォルト第二の値(赤)を読み取ることができません。

どちらが優れていますか(パフォーマンス、ファイルサイズが小さい、e.t.c)?

他の方法はありますか?

答えて

1

オブジェクトの管理が容易であり、長期的に重要なパフォーマンスを損なわないことは間違いありません。実際にたくさんの連続したオプション(color1、color2、color3など)がある場合は、配列をオブジェクト値として使用すると意味があります。整理してコメントしてください。何かのように:

{colors: [ 
      '#fff', // element 1 
      '#000', // 2 
      '#ccc', // 3 
      ... 
     ] 
} 
0

私は間違いなくこのプラグインを使用して人々の立場から配列と一緒に行くだろう。それはそれを使用する最も論理的な方法のようです。それで、自分で述べた問題に対処できます。あなたのinitでは、渡された配列の長さをチェックすることができ、小さすぎる場合はそれを処理します。欠落しているものをデフォルトのものか何かのもので埋める。

関連する問題