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上某些现有属性的字符串中?
您还需要使用括号表示法attributeName:
function foo(attributeName, someJSObj, key, newValue)
{
someJSObj[key][attributeName] = newValue;
}
Run Code Online (Sandbox Code Playgroud)
现在,值attributeName被用作标识符而不是标识符attributeName本身.