1

キー値を動的に設定できないことはわかっていますが、値はどうですか?

オブジェクトを初期化する最良の方法を知る必要があることを bc に尋ねています。これが私が現在行っている方法です:

var object_pipe = {
    model : 'MUserAny',
    page  : { 
        email: '0'
    },
    args  : {
        foo : '0'
    }
};
object_pipe.args.foo = localStorage.foo;  // Statement A

オブジェクトリテラルにステートメント A を直接入れたいのですが、それが可能かどうか、または正しい構文かどうかはわかりません。

また、ここのようにオブジェクトリテラルでプロパティを設定できない場合、プロパティを明示的に宣言する必要がありますか...ページがそこにある必要がありますか?

var object_pipe = {
    model : 'MUserNew',
    page  : { 
    }
};
for( var key in form_elements ) {
    object_pipe.page[ form_elements[key].name ] = form_elements[key].value ;
}
4

2 に答える 2

3

変数を明示的に宣言する必要はありませんが、配列、文​​字列、オブジェクト リテラルなどの空の「何でも」でキーを初期化できます。後でプロパティを追加できます。

var o = {
  a: [],
  b: {}
}

o.a[0] = 'foo'
o.b.c = 'baz'
o.d = 'pom' // New
于 2012-07-03T00:03:19.540 に答える
2

これの何が問題なのですか:

var object_pipe = {
    model : 'MUserAny',
    page  : { 
        email: '0'
    },
    args  : {
        foo : localStorage.foo
    }
};

デモ

于 2012-07-02T23:55:13.520 に答える