在Javascript中将字符串与数字连接

时间:2011-01-11 13:46:32

标签: javascript string-concatenation

我正在尝试在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。 但警报(方程式)显示125(而不是“12 + 5”)。我需要变量方程为“12 + 5”,这样我以后可以调用eval(方程式)并得到12 + 5的值。

我在这里做错了什么?

2 个答案:

答案 0 :(得分:0)

如果你有chunk = [ 12, '+', 5];,那么你可以var eq = chunk.join("");然后将其传递给eval

答案 1 :(得分:0)

你做错了什么?你有一个小错字。

修改问题的代码
chunk[0] = 12
chunk[1] = '+'
chunk[1] = 5

chunk[0] = 12
chunk[1] = '+'
chunk[2] = 5

一切都应该有效。

为什么会这样: +5都被分配到chunk[1]5覆盖了chunk[1]的上一个分配(+) }。这也解释了为什么显示的连接值为125

按顺序,第一个作业产生一个带有
的集合 会员chunk[0]和内容12

第二个作业添加一个新成员,并产生一个带有
的集合 会员chunk[0],其内容为12
会员chunk[1],其内容为+

第三个任务会覆盖第二个成员,并产生一个带有
的集合 会员chunk[0],其内容为12
会员chunk[1],其内容为5

所有块的串联== 125

所需的连接== 12+5