当前位置: 首页 > 面试题库 >

JavaScript使用变量动态访问对象属性

诸福
2023-03-14
问题内容

我正在尝试使用动态名称访问对象的属性。这可能吗?

const something = { bar: "Foobar!" };
const foo = 'bar';
something.foo; // The idea is to access something.bar, getting "Foobar!"

问题答案:

有两种方法可以访问对象的属性:

  • 点表示法: something.bar
  • 括号符号: something['bar']

方括号之间的值可以是任何表达式。因此,如果属性名称存储在变量中,则必须使用方括号表示法:

var foo = 'bar';
something[foo];
// both x = something[foo] and something[foo] = x work as expected


 类似资料:
  • 我正在尝试使用动态名称访问对象的属性。这可能吗?

  • 问题内容: 我正在尝试从JavaScript中的JSON过滤数据。 我定义一个变量。我想要等于(不等于)的属性。到目前为止,我还没有找到一种方法。 其他所有内容均正常运行,因为当我将其更改为特定条目(例如,item.date)时,它可以正常工作。我找不到正确的语法。 问题答案: 试试看,也可以通过这种方式访问​​javascript对象。

  • 问题内容: 编码: 对象数据: 问题: 正确显示“ 2009-05-27 16:36:45”。 正确显示“ A5A50000”。 报告“ data.bsID未定义”。 报告“数据[bsID]未定义”。 我不清楚何时/不评估变量。也许我忽略了一些愚蠢的事情,但是我无法在这里解决我的问题。 问题答案: 您可以通过点表示法或括号表示法访问对象属性。 具有动态值时,必须使用后者: 因此,您真正想要的是:

  • 我的问题很简单,但我认为Velocity不支持这一点。我必须使用vm文件中定义的变量名访问映射或对象。 配置为Map 这里的问题是,当我发送此模板进行渲染时,我得到以下代码: 所以看起来在呈现模板时,$img_src、$img_link和$img_alt没有正确定义,velocity试图在自身上呈现config对象,在下一轮呈现时,config对象已经呈现为纯文本,其余变量就放在其中。 比这更奇怪

  • 问题内容: 如果我有一个如下所示的javascript对象 我有一个既传递对象又传递属性的函数,像这样 身体会是什么样? 问题答案: 您不需要它的功能-只需使用括号符号即可: 这等于点表示法,除了在使用方括号表示法时也可能来自变量,函数返回值等的事实。 如果需要它的功能,则为: 为了回答下面与原始问题没有直接关系的一些注释,可以通过多个括号引用嵌套对象。如果您有这样的嵌套对象: 您可以访问财产的,

  • 问题内容: 我想知道是否可以使用Selenium访问页面JavaScript变量。我有一个使用附加到窗口对象的变量的应用程序。它有一个全球范围内,我可以用任何访问,,,,要看具体情况。 所以我试图让Selenium来回应它。据我了解,在Selenium IDE中,运行所有内容的上下文是。我尝试这样做,无济于事。我被以下错误弄糊涂了。 任何人都可以访问其页面的JavaScript吗? 问题答案: 您