1

フォームの作成/検証を簡単にするために、小さな JavaScript ライブラリを作成中です。これは主に、JavaScript を使いこなすための言い訳です。フォーム要素の作成のためにユーザー入力を取り込む方法について議論しています。

私は2つのアプローチを見ています。1 つは、id、label、value などのいくつかの事前定義されたパラメーターを取り込むことです。

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

3 番目のオプションは、id、label、options を取り込むことです。options は、上で説明したことを行うオブジェクトです。

今のところ、オブジェクトを渡すのが最も柔軟に思えますが、これには重大な欠点があるのでしょうか? ほとんどの JavaScript ユーザーにとって使いやすいものにしたいと考えています。これを行う最善の方法について何か考えはありますか?

4

3 に答える 3

1

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

オプション 3 は、絶対に渡さなければならないものがある場合にも使用できます。ID。その場合、オプション オブジェクトは関数の最後のパラメーターとして最も一般的に見られます。

お役に立てれば

于 2009-07-13T04:49:38.860 に答える
1

オブジェクトを使用することは、私が研究した JS コードでそれを行うための「標準的な」方法のようです。

特定のパラメーターのリストを使用すると、順序付けの要件が追加されますが、いくつかのパラメーターがある場合、すぐに手に負えなくなります。

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

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

于 2009-07-13T04:55:53.650 に答える
0

少しハッカーを使えば、両方をサポートできます。関数に渡されたすべての引数を検査できます。

次に、次のような条件を使用できます。

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

    // .. and so on ...
}

これは基本的に、最初の引数がオブジェクトの場合は ID を抽出し、それ以外の場合は引数を直接使用することを示しています。

私はオブジェクトの方法を好みます。これは、外部の JSON データ ソースで使用するのに適しています。

于 2009-07-13T04:51:23.317 に答える