可能重複:
JavaScript BlockStatement confusion爲什麼{10 +'1'} + 10等於10?
爲什麼{10 + '1'} + 10
等於10?
我猜測1不起作用,因爲它在一個字符串中,但不知道其餘的。
可能重複:
JavaScript BlockStatement confusion爲什麼{10 +'1'} + 10等於10?
爲什麼{10 + '1'} + 10
等於10?
我猜測1不起作用,因爲它在一個字符串中,但不知道其餘的。
此:
{10 + '1'}
是一個語句塊。這不等於10;它有
沒有任何價值,實際上
的值爲「101」,一個字符串(學習一些無用的東西:-)。這不是一個特別的對象。
此:
等於10
試試這個:
({10 + '1'}) + 10
,你會看到一個差異。
'({10 +'1'})+ 10' =>語法錯誤:-) – 2012-03-28 14:36:16
是的,這就是我意思是:-)重點是解析器看到一個語句塊,然後是另一個語句:表達式「+ 10」。該塊是種不相關的。 – Pointy 2012-03-28 14:37:15
這是因爲{}
中的所有代碼都被忽略。 {}
中的代碼是一個運行的表達式,然後忽略它的「值」。
因此{10 + '1'} + 10
只是+10
這就是10
。
我懷疑鑄造對象爲整數的產量爲0,所以0 + 10 = 10.你期望會發生什麼? – Matthew 2012-03-28 14:34:33
但是{} + {} + 0'產生'NaN'得到lurv javascript <3 – 2012-03-28 14:35:51
'{10 +'1'}'不是一個對象。 – 2012-03-28 14:36:09