var x = {};
x.a = {y:5};
x.b = {z:6};
for (prop in x) console.log(typeof prop); // returns "string". Why not "object"?
オブジェクトを返してはいけませんか?これをどうやって回避するのですか?オブジェクトの代わりにJavaScript文字列
var x = {};
x.a = {y:5};
x.b = {z:6};
for (prop in x) console.log(typeof prop); // returns "string". Why not "object"?
オブジェクトを返してはいけませんか?これをどうやって回避するのですか?オブジェクトの代わりにJavaScript文字列
プロップ自体を出力すると、キーが「a」、「b」であることがわかります。
どういう意味ですか? – user1019031
ループ内に 'prop'が入る値は、文字列" a "、文字列" b "です。 –
しかし、 "a"がオブジェクトのときに文字列を取得するのはなぜですか? – user1019031
プロパティの名前を返します。
x[prop]
部分はaとbの場合のために、返された、
prop
と呼ばれ、プロパティ名を取ります(これはString型である)とプロパティ
x.prop
を返し
for (prop in x) console.log(typeof x[prop]);
にあなたの最後の行を変更
オブジェクト。
これらの応答のすべては右ですが、おそらくあなたは正しい例とのより良いそれを見ます:
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}
ああ、ありがとう!ちょうど私がそれの周りに私の頭を得るために必要なもの。 – user1019031
あなたは 'prop'が何であるかを見てください。http://jsfiddle.net/NnLrh/1/ –
[いくつかのドキュメント](https://developer.mozilla.org/ja/JavaScript/Reference/Statements/for...in)を読むのはいかがですか? –