首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何访问动态属性:变量.{objectName}

如何访问动态属性:变量.{objectName}
EN

Stack Overflow用户
提问于 2013-05-07 15:07:10
回答 2查看 171关注 0票数 0

我需要访问

代码语言:javascript
复制
objectName.myID 

但是"myID“部分是动态生成的。

我该怎么做呢?

我试过了

代码语言:javascript
复制
this['objectName.'+ variable]

我讨厌使用eval..。

顺便说一下,这种情况发生在函数(局部作用域)中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-07 15:17:04

您可以访问Object properties in two ways

代码语言:javascript
复制
o.propertyname
//or
o.["propertyname"]

当使用方括号表示法时,您必须将属性名放在引号中,否则它将被解释为变量名(在本例中,这正是您想要的)。因此,在将属性名称存储为字符串的情况下,方法如下:

代码语言:javascript
复制
var variable = "propertyname";
o[variable];
/* /\ variable is replace with it's string representation "propertyname" */

你甚至可以这样调用方法:

代码语言:javascript
复制
var o = {};
var functionname = 'toString';
o[functionname]();

您可以混合这两种表示法,您的示例将如下所示:

代码语言:javascript
复制
var obj = 'objectName';
var prop = 'myID';
this[obj][prop]
// or this is possible too:
this.objectName[prop]
票数 2
EN

Stack Overflow用户

发布于 2013-05-07 15:09:12

假设propertyName是保存属性名称的变量的名称,例如'myId',那么您可以使用。

代码语言:javascript
复制
objectName[propertyName]

更多详细信息请访问:Working with objects

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16413167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档