1

Chrome の拡張機能に取り組んでいますが、Javascript での「for..in」の使用法について疑問に思っています。私が見つけた問題を例で説明しましょう:

タイプの volatile オブジェクトがあるとします{prop1: "foo", prop2: "bar", ...}。このオブジェクトをいくつかの構文で文字列に保存したい"prop1=foo;prop2=bar;...". 使用したコードは次のとおりです。

var fun = function(data) {
  var str = "";
  for (var i in data) {
    str += i + "=" + data[i] + ";";
  }
  return str;
};
log(fun({x:1, y:2}));

次の文字列が返さfunれます: undefinedx=1;y=2;.

なぜこの動作に従うのか、私にはよくわかりません。JSON を使用してこのようなことを「文字列化」できることは知っていますが、実際にはなぜそれが起こるのかを理解したいだけです。

4

1 に答える 1