Javascript字符串而不是预期的对象

时间:2012-02-18 00:55:28

标签: javascript string object

var x = {};
x.a = {y:5};
x.b = {z:6};

for (prop in x) console.log(typeof prop); // returns "string". Why not "object"?

不应该归还物体吗?我该如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

如果你自己输出道具,你会发现它们是关键词:“a”,“b”。

答案 1 :(得分:1)

所有这些反应都是正确的,但也许你会通过更正的例子看到它更好:

var x = {};
x.a = {y:5};
x.b = {z:6};

for (prop in x) console.log(typeof prop); // returns "string"
for (prop in x) console.log(prop); // returns "a", then "b"
for (prop in x) console.log(typeof x[prop]); // returns "object"
for (prop in x) console.log(x[prop]); // returns {y:5}, then {z:6}

答案 2 :(得分:0)

返回属性的名称。

答案 3 :(得分:0)

将您的最后一行更改为

for (prop in x) console.log(typeof x[prop]);

x[prop]部分采用名为prop的属性名称(类型为字符串)并返回属性x.prop,对于a和b的情况,将返回对象