0

JS 関数ではresultModel、 と の 2 つのプロパティidArrayを持つ object を使用しますnameArray。これを宣言する適切な方法は何でしょうか?

現在、関数の先頭で他の変数と一緒にオブジェクトを宣言していますvar resultModelが、プロパティは、関数の後半のループで値を割り当てることで使用を開始するだけです。

   resultModel.idArray.push(someValue[i][0]);
   resultModel.nameArray.push(someValue[i][1]);

もちろん、varスコープにとってキーワードが重要であることはわかっています。関数内で「ルート」識別子が宣言されているため、グローバルな改ざんを回避できます。これで問題ありません。しかし、スコーピング以外の理由で、値のプロパティも実際に何らかの方法で宣言する必要があると期待しています-メモリ割り当て、おそらくJSDocコメントによるタイプヒント、読みやすさ、および宣言の完全性が思い浮かびます。

したがって、私の質問は次のとおりです。そのようなプロパティを宣言する必要がありますか?その場合、それを行う適切な方法は何でしょうか?

4

3 に答える 3

1

javascript のオブジェクトは、リンクされたリストのように動的にメモリが割り当てられるため、ここでのメモリ割り当てについて心配する必要はないと思います。読みやすくするために、上記の abhitalks のように null 値で初期化できます。

于 2014-06-20T08:30:09.610 に答える
1

このような:

var resultModel = {
    idArray: [],
    nameArray: []
};

割り当ては、最初にオブジェクトにプロパティを配置するよりもかなり時間がかかるため、これが最善の方法です。

于 2014-06-20T08:14:55.530 に答える
0

プロパティを同じデータ型のデフォルト値として配置します。たとえば、配列の場合 -> Array()、整数の場合: 0 または -1 など:

var resultModel = { "idArray": DEFAULT_VALUE , "nameArray" : DEFAULT_VALUE }
于 2014-06-20T08:16:27.067 に答える