我想在 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 }
我想在 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
,但 JavaScript 提供了一种替代语法,theObj["property"]
当您需要对属性名称(如 )执行字符串操作等操作时theObj["property_" + numberVar]
,或对点表示法中无效的属性(如数字属性theObj[12] = "twelve"
)进行操作时
如果您通过 访问属性[]
,则需要引用字符串["foo"]
,否则解析器将寻找一个名为的变量以foo
插入其中。但是,使用点表示法可以更好地访问这个简单的字符串属性:
if ( condition ) {
theObj.foo = newVal
return theObj // returns { foo: val1, bar: newVal }
}