是否可以使用字符串变量来引用Javascript中的元素?

som*_*guy 0 javascript variables reference data-structures

这是现在代码的快速版本:

function foo(attributeName, someJSObj, key, newValue)
{
    someJSObj[key].attributeName = newValue;
}
Run Code Online (Sandbox Code Playgroud)

显然这不起作用,因为它只是创建一个名为attributeName的新元素.是否有一种简单的方法可以将attributeName取消引用到表示someJSObj上某些现有属性的字符串中?

Gum*_*mbo 5

您还需要使用括号表示法attributeName:

function foo(attributeName, someJSObj, key, newValue)
{
    someJSObj[key][attributeName] = newValue;
}
Run Code Online (Sandbox Code Playgroud)

现在,值attributeName被用作标识符而不是标识符attributeName本身.