2016-12-01 47 views

回答

3

該提示在之前的評估中。 1+1+'2'+7+10-2相當於((1+1)+'2'+7+10)-2"22710"-2。雖然+是爲字符串和數字定義的(當兩個參數都是數字時,在其他情況下是連續的),-僅針對數字定義;所以"22710"被強制編號爲:22710-2確實是22708

+0

如果left被評估爲(1 + 1)爲什麼權利不被評估爲(7 + 10)或(10-2)?或者,對於字符串強制的右和左關聯有不同的規則嗎? –

+0

因爲它*是從左到右評估的。 '1 + 1'是'2'; '2 +'2''是'「22」'; '「22」+ 7'是「227」'; '「227」+ 10'是'「22710」'。最後,「22710」-2「是」22708「,正如答案中所解釋的那樣。這裏永遠不會有'7 + 10'這樣的表達。 – Amadan

+0

a = 2,b = 3,c = 4; a = b = c;在這個例子中,評估從右到左發生,所以我在原來的問題示例中感到困惑。 感謝您的澄清,非常感謝在[操作者表] –

0

Javascript處理減號和減號的方式不同。你得到零,因爲它採取22710和減去2得到22708

如此這般從2222272271022710 - 2 其中給出22708

的實際原因,爲什麼是在我頭上的方式雖然。