使用 += 运算符未定义对象中的第一个元素
First element in object is undefined using += operator
我在对象中使用运算符 += 时遇到问题。
因为我必须动态更改变量,所以我使用一个对象作为变量。
但是如果我使用 += 运算符,输出中的第一个元素总是未定义。我认为那是因为对象被初始化为空。
防止输出该元素的最佳解决方案是什么?
这是我的示例代码:
var dynamicVariable = {};
var group = "apples";
for(var i = 1; i<5; i++)
{
dynamicVariable[group] += " Apple" + i + "<br>";
}
document.getElementById("fruits").innerHTML = dynamicVariable[group];
发生这种情况是因为 dynamicVariable[group]
在您开始附加到它之前具有值 undefined
。 undefined + " Apple1"
是 "undefined Apple1"
。
您需要先将其初始化为空字符串:
dynamicVariable[group] = "";
for(var i = 1; i<5; i++) {
dynamicVariable[group] += " Apple" + i + "<br>";
}
我在对象中使用运算符 += 时遇到问题。 因为我必须动态更改变量,所以我使用一个对象作为变量。 但是如果我使用 += 运算符,输出中的第一个元素总是未定义。我认为那是因为对象被初始化为空。
防止输出该元素的最佳解决方案是什么?
这是我的示例代码:
var dynamicVariable = {};
var group = "apples";
for(var i = 1; i<5; i++)
{
dynamicVariable[group] += " Apple" + i + "<br>";
}
document.getElementById("fruits").innerHTML = dynamicVariable[group];
发生这种情况是因为 dynamicVariable[group]
在您开始附加到它之前具有值 undefined
。 undefined + " Apple1"
是 "undefined Apple1"
。
您需要先将其初始化为空字符串:
dynamicVariable[group] = "";
for(var i = 1; i<5; i++) {
dynamicVariable[group] += " Apple" + i + "<br>";
}