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

您不需要显式声明变量,但您可以使用空的“whatever”初始化键,可以是数组、字符串、对象文字等。您可以稍后添加属性。

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 回答