JavaScript对象:按名称作为字符串访问变量属性

如果我有一个如下所示的javascript对象

var columns = {

left: true,

center : false,

right : false

}

我有一个既传递对象又传递属性的函数,像这样

//should return false

var side = read_prop(columns, 'right');

身体read_prop(object, property)会是什么样?

回答:

您不需要它的功能-只需使用括号符号即可:

var side = columns['right'];

这等于点表示法,var side =columns.right;除了right在使用方括号表示法时也可能来自变量,函数返回值等的事实。

如果需要它的功能,则为:

function read_prop(obj, prop) {

return obj[prop];

}


为了回答下面与原始问题没有直接关系的一些注释,可以通过多个括号引用嵌套对象。如果您有这样的嵌套对象:

var foo = { a: 1, b: 2, c: {x: 999, y:998, z: 997}};

您可以访问财产xc,如下所示:

var cx = foo['c']['x']

如果未定义属性,则将尝试引用该属性undefined(不是nullfalse):

foo['c']['q'] === null

// returns false

foo['c']['q'] === false

// returns false

foo['c']['q'] === undefined

// returns true

以上是 JavaScript对象:按名称作为字符串访问变量属性 的全部内容, 来源链接: utcz.com/qa/407611.html

回到顶部