2013-04-18 387 views
-3

嘗試下面的代碼片段,它給出了奇怪的結果。任何人都可以解釋嗎?奇怪的評估輸出

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

輸出,我希望是30和22

+0

的輸出是什麼??? –

+0

期望的輸出是什麼?... –

+2

我在兩個警報框中得到了2040(eval(「10 + 1010 + 1010 + 10」))和112(eval(「10 + 102」)),這非常有意義對我來說。 – developmentalinsanity

回答

4

沒什麼奇怪有關它在所有:

s + s + s === "10+10" + "10+10" + "10+10" === "10+1010+1010+10" => 2040 
s + 2 === "10+10" + "2" === "10+102" => 112 
+0

感謝您的解釋。我沒有考慮連接 –

-4

採取s變出報價:

var s = 10 + 10; 

退貨

評價1:60

評價2:22