2009-07-13 14 views
1

私は、フォームの作成/検証を容易にするための小さなjavascriptライブラリを作成しています。これは主にjavascriptでうまくいく言い訳です。私は、フォーム要素の作成のためにユーザー入力を取り込む方法について議論しています。ハッシュと特定のパラメータ

私は2つのアプローチを検討しています。 1つはID、ラベル、値などのあらかじめ決められたいくつかのパラメータを取ることです

もう1つは、フォーム要素に直接プロパティを書き込むために使用される単一オブジェクトを取り込むことです。たとえば、IDラベルと値を渡したい場合は、単に{id: 'my_id'、ラベル: 'my_label'、値: 'my_value}を渡します。

3番目のオプションは、 label、options optionsは、私が上で説明したことをするオブジェクトです。

今はオブジェクトを渡すのが最も柔軟なようですが、これに深刻な欠点があるのだろうかと思います。私はこれを、ほとんどのJavaScriptユーザーにとって使いやすいものにしたいと思います。 これを行う最善の方法についてのご意見はありますか?

答えて

1

これを処理する通常の方法は、2番目の選択肢のようにオプションオブジェクトを使用することです。オプションを必要とするほとんどのプラグイン(およびjQueryメソッド)は、そのパターンを使用します。私が知っている限り、これには欠点がなく、非常に一般的なオプションの処理方法として、他の人には使いにくいとは思いません。

オプション3は、絶対に渡されなければならないものがあれば許容されます。 id。その場合、optionsオブジェクトは関数の最終パラメータとして最も一般的に見付かります。

・ホープこれはあなたが牛車のビットで、両方をサポートすることができます

0

に役立ちます。あなたは調べることができ、すべてのarguments passed to the function:これは、基本的には、第1引数がオブジェクトである場合には、他に、IDを抽出し、直接引数を使用することを言います

var func = function(){ 
    if(arguments[0].id) { 
     id = arguments[0].id; 
    } else { 
     id = arguments[0]; 
    } 

    // .. and so on ... 
} 

あなたは、その後のような条件を使用することができます。

私はオブジェクトの方が好きです。外部のJSONデータソースで使用することができます。

1

オブジェクトの使用は、私が学んだJSコードでオブジェクトを使用することを「標準的な」方法と思われます。

注文要件を追加する特定のパラメータのリストを使用すると、複数のパラメータがある場合にすぐに手を出せなくなります。

「従属」パラメータ(たとえば、別のパラメータの特定の値に対してのみ表示されるパラメータなど)がある場合は、単純なパラメータリストを使用すると特に醜いです。

ただし、オブジェクトのプロパティを反復処理するときは注意してください。継承された要素が意図しない要素を取得するのは簡単です。 Douglas Crockford recommendsこのケースをチェックするためにhasOwnProperty()を使用します。

関連する問題