-3

试试下面的代码片段,它给出了奇怪的结果。谁能解释一下?

var s = "10+10";
alert("Evaluation 1: " + eval(s+s+s)); // 2040
alert("Evaluation 2: " + eval(s+2));   // 112

我期望的输出是 30 和 22

4

2 回答 2

4

一点都不奇怪:

s + s + s === "10+10" + "10+10" + "10+10" === "10+1010+1010+10" => 2040
s + 2 === "10+10" + "2" === "10+102" => 112
于 2013-04-18T09:37:36.060 回答
-4

从引号中取出s变量:

var s = 10 + 10;

回报

评价一:60

评价2:22

于 2013-04-18T09:38:24.620 回答