对象中的第一个元素是使用+ =运算符未定义的

时间:2015-03-22 19:10:58

标签: javascript variables object undefined element

我在对象中使用operator + =时遇到问题。 因为我必须动态地改变变量,所以我使用一个对象作为变量。 但是如果我使用+ =运算符,输出中的第一个元素总是未定义。我认为那是因为对象被初始化为空。

阻止输出该元素的最佳解决方案是什么?

这是我的示例代码:

var dynamicVariable = {};
var group = "apples";

for(var i = 1; i<5; i++)
{
 dynamicVariable[group] += " Apple" + i + "<br>";
}

document.getElementById("fruits").innerHTML = dynamicVariable[group];

jsFiddle

1 个答案:

答案 0 :(得分:5)

这种情况正在发生,因为dynamicVariable[group]在开始追加之前具有值undefinedundefined + " Apple1""undefined Apple1"

首先需要将其初始化为空字符串:

dynamicVariable[group] = "";
for(var i = 1; i<5; i++) {
    dynamicVariable[group] += " Apple" + i + "<br>";
}