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