如何使用变量引用对象字段? [复制]
Posted
技术标签:
【中文标题】如何使用变量引用对象字段? [复制]【英文标题】:How to refer to object fields with a variable? [duplicate] 【发布时间】:2011-04-02 15:18:09 【问题描述】:假设我有一个对象:
var obj = "A":"a", "B":"b", "x":"y", "a":"b"
当我想引用“A”时,我只写obj.A
当我输入变量时如何做,即:
var key = "A";
是否有任何返回值或null
(如果键不在对象中)的函数?
【问题讨论】:
【参考方案1】:怎么样:
json[key]
试试:
json.hasOwnProperty(key)
关于您问题的第二部分(请参阅Checking if a key exists in a javascript object?)
【讨论】:
【参考方案2】:使用括号表示法,如下所示:
var key = "A";
var value = json[key];
在 JavaScript 中,这两个是等价的:
object.Property
object["Property"];
为了清楚起见,这不是 JSON 特定的,JSON 只是对象表示法的一个特定子集……这适用于任何 JavaScript 对象。如果它不在对象中,则结果将为undefined
,you can try all of this here。
【讨论】:
+1。请注意,虽然您提到的两种形式仅当属性不是保留字时才等效...其中在JS中有很多,并且有不少是出乎意料的。所以从这个意义上说object["Property"]
更安全。 OTOH,object.Property
的优势是(当 Property
是静态已知时)像 JSLint 这样的工具可以对它们进行检查。以上是关于如何使用变量引用对象字段? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何使变量/对象在 Javascript 中只读? [复制]