【问题标题】:First element in object is undefined using += operator使用 += 运算符未定义对象中的第一个元素
【发布时间】:2015-05-25 18:12:08
【问题描述】:

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

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

这是我的示例代码:

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

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

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

jsFiddle

【问题讨论】:

  • 刚设置dynamicVariable[group] = ""

标签: javascript variables object undefined element


【解决方案1】:

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

你需要先将其初始化为一个空字符串:

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

【讨论】:

  • 添加到您的答案中,您需要说该值为undefined,当您使用+= 时,它会将其转换为字符串。将undefined 转换为字符串返回'undefined'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 2020-07-14
  • 2021-07-31
相关资源
最近更新 更多