gpt4 book ai didi

javascript - Javascript 中的 "for..in"产生 "undefined"值

转载 作者:行者123 更新时间:2023-11-30 08:51:04 25 4
gpt4 key购买 nike

我正在为 Chrome 开发一个扩展,我只是想知道“for..in”在 Javascript 中的用法。让我用一个例子来解释我发现的问题:

假设我有一个 {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 来“字符串化”这样的东西,但实际上我只是想了解为什么会这样。

最佳答案

这就是您正在运行的代码吗? data[i] 之前缺少的 + 让我相信它不是。它看起来很像 str 开始未初始化,如:

var fun = function(data) {
var str;
for (var i in data) {
str += i + "=" + data[i] + ";";
}
return str;
}

关于javascript - Javascript 中的 "for..in"产生 "undefined"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17820800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com