【发布时间】:2011-01-11 13:46:31
【问题描述】:
我正在尝试用 Javascript 创建一个简单的计算器。我有一个名为表达式的数组
chunk[0] = 12
chunk[1] = +(“+”号)
chunk[1] = 5
我使用了一个 for 循环来遍历块 (chunk[]),然后加入单个表达式,如下所示:-
equation = ""; // To make var equation a string
for(i = 0; i <= length; i++)
{
equation = equation + expression[i];
alert(expression[i]);
}
alert(equation);
alert(expression[i]) 显示值 12、+ 和 5。
但是 alert(equation) 显示 125(而不是“12+5”)。我需要将变量 equation 设为“12+5”,以便稍后调用 eval(equation) 并获得 12+5 的值。
我在这里做错了什么?
【问题讨论】:
-
写
chunk[1] = +时不会出现语法错误吗? -
在jsfiddle.net/7y4Ha 进行了快速测试——一切正常。您是否尝试过
equation = equation + expression[i].toString();来防止错误的类型转换?如果我的预设是错误的,请纠正我。 -
@Nikita 我只是在展示他们的内容。我的意思不是分配任务 :-) 对不起,如果它让你感到困惑。
-
@Samuel Herzog 小提琴更正了原始问题中的错字,因此
chunk[1]不再是'+',而是被覆盖为5。
标签: javascript string-concatenation