2011-12-26 24 views
2

无法弄清楚如何一次设置多个对象元素?Javascript VisualBasic的WITH等效?

例如,如何写

myobject.field1 = 12; 
myobject.field2 = 13; 
myobject.field3 = 14; 
myobject.field4 = 15; 
myobject.field5 = 16;  
myobject.field6 = 17; 

无需编写myobject.多次?以某种方式与逗号语法?

+0

Javascript has'with'。看看这个答案: http://stackoverflow.com/questions/61088/hidden-features-of-javascript#61118 –

+1

JavaScript也得到了'with'关键字。这是[不好](http://stackoverflow.com/questions/61552/are-there-legitimate-uses-for-javascripts-with-statement)来使用它。 –

回答

3

的JavaScript确实有with,但它的使用是not recommended,主要是因为它可以揍什么with应该工作(如果该属性不存在)之外的变量。

你可以把这些分配成一个圈......

for (var i = 0; i < 7; i++) { 
    myobject['field' + i] = 11 + i; 
} 
+0

另请参阅[this](http://stackoverflow.com/a/61676/20261)回答。 – Ikke

+0

啊,只是因为我喜欢喋喋不休,因为我不是很好的练习,因为我会链接查克No ... ehem Doug Crockford的同一篇文章。 –

1

如果你的对象只包含字段,你可以像这样把它声明:

var myobject = { 
    field1: 12, 
    field2: 13, 
    field3: 14, 
    field4: 15, 
    field5: 16, 
    field6: 17 
}; 

如果你使用jQuery和你的对象有其他功能和属性,你可以做到这一点:

$.extend(myobject, { 
    field1: 12, 
    field2: 13, 
    field3: 14, 
    field4: 15, 
    field5: 16, 
    field6: 17 
}); 
+4

{..}中的那些等号应该是冒号,并在每个组中放弃最后一个逗号。 – HBP