You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过变量存储的属性名读取JavaScript对象的属性?

解决对象属性名存于变量时的属性访问问题

嗨,这是个很常见的JavaScript小细节坑!你原来的代码用了.(点符号)访问属性,但点符号后面的readItem会被当作字面量属性名,而不是你定义的那个变量——它会去myObj里找名为readItem的属性,自然拿不到你想要的test属性值。

正确的做法是用方括号语法,把变量放进方括号里,JavaScript会先解析变量的实际值,再去对象里匹配对应的属性:

var myObj = { test: 0, other: 'none' };
var readItem = 'test';
console.log(myObj[readItem]); // 输出 0

顺带分享个实用小知识点:方括号里还能放任何能算出字符串的表达式,比如:

  • 直接写字符串字面量:myObj['test'] 和 myObj.test 效果完全一致
  • 动态拼接属性名:var suffix = 'New'; myObj['test' + suffix](如果对象有testNew属性的话)

这样就能灵活通过变量动态访问对象属性啦!

内容的提问来源于stack exchange,提问作者Luke Strong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:05:16