为什么按名称访问数组对象给出了undefined

时间:2018-03-12 12:04:59

标签: javascript angularjs json

如果我尝试访问这样的字符串,为什么会出现未定义:

obj.prop = JSON.stringify(otherObj);

然而,如果我像这样访问它:

prop = JSON.stringify(otherObj.propertyIwant);

它起作用并给我我想要的价值吗?

2 个答案:

答案 0 :(得分:-1)

因此,stringify会将obj转换为字符串,这意味着尝试访问其中的属性(就像使用obj.prop一样)将导致undefined

在第二个示例中,您将对对象的属性进行字符串化(假设otherObj是有效对象)并将其分配给变量。

答案 1 :(得分:-2)

Rob,为什么要将JSON对象转换为字符串?

您可以通过名称访问该属性并将其存储在任何变量中。

解决方案:

var jObject = {name : 'Rob',age: 20};
var myVar = jObject.age;