动态设置对象文本值

Setting object literal value dynamically

本文关键字:文本 对象 设置 动态      更新时间:2023-09-26

我知道你不能动态设置键值,但是值呢?

我问不列颠哥伦比亚省。我需要知道初始化对象的最佳方法。 这是我目前的做法:

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 ;
}

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

var o = {
  a: [],
  b: {}
}
o.a[0] = 'foo'
o.b.c = 'baz'
o.d = 'pom' // New

这有什么问题:

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

演示