我想在javascript中执行以下操作,但是在这里我不了解某些语法:
var theObj = { foo: val1, bar: val2 }
if ( condition ) {
theObj[foo] = newVal
return theObj // returns { foo: val1, bar: newVal }
}
return theObj // returns { foo: val1, bar: val2 }
最佳答案
您拥有的不是对象数组,而是对象文字。通常,其属性将以theObj.property
的形式访问,但是当您需要对属性名称进行字符串操作(例如theObj["property"]
)或对于点符号无效的属性时,JavaScript提供了theObj["property_" + numberVar]
的另一种语法。 (例如数字属性theObj[12] = "twelve"
)
如果通过[]
访问该属性,则需要用引号引起来["foo"]
,否则解析器将在其中查找名为foo
的变量。但是,可以使用点表示法更好地访问此简单的字符串属性:
if ( condition ) {
theObj.foo = newVal
return theObj // returns { foo: val1, bar: newVal }
}