动态设置对象文字值

时间:2012-07-02 23:53:07

标签: javascript

我知道您无法动态设置键值,但值是什么?

我问b.c.我需要知道初始化对象的最佳方法。以下是我目前的工作方式:

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

我想将语句A直接放在对象文字中,但不确定它是否可行或语法正确。

Aslo,当我无法在对象文字中设置属性时,是否需要显式声明属性,如此处...页面是否需要存在?

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

2 个答案:

答案 0 :(得分:3)

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

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

o.a[0] = 'foo'
o.b.c = 'baz'
o.d = 'pom' // New

答案 1 :(得分:2)

这有什么问题:

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

DEMO