尝试以下代码段,它会给出奇怪的结果。有人可以解释一下吗?
var s = "10+10";
alert("Evaluation 1: " + eval(s+s+s)); // 2040
alert("Evaluation 2: " + eval(s+2)); // 112
我期待的输出是30和22
答案 0 :(得分:4)
根本没什么奇怪的:
s + s + s === "10+10" + "10+10" + "10+10" === "10+1010+1010+10" => 2040
s + 2 === "10+10" + "2" === "10+102" => 112
答案 1 :(得分:-4)
从引号中取出s
变量:
var s = 10 + 10;
<强>返回强>
评价1:60
评估2:22