"对于“in”;在Javascript中;未定义的“;价值
"for..in" in Javascript yields "undefined" value
我正在为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中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- 财产的价值'openNewWin'为null或未定义,而不是Function对象
- "对于“in”;在Javascript中;未定义的“;价值
- 为什么价值是“;未定义的“;在传递到控制器功能之后
- 未定义的变量,值==false对!价值
- ie浏览器显示警告值“未定义”;但火狐和chrome显示出了实际价值
- 为什么财产价值“;未定义”;