我在我的JavaScript設置一個斷點,我鍵入下面的表達式到Chrome瀏覽器控制檯窗口:串連`:`條件字符串在JavaScript
類型的:
(((i % 12) == 0) ? '12' : (i % 12))
結果:
9
類型的:
' ' + (i < 12) ? 'AM' : 'PM'
結果:
"AM"
類型的:
(((i % 12) == 0) ? '12' : (i % 12)) + ' ' + (i < 12) ? 'AM' : 'PM'
結果:
"AM"
我的期望是,最後的結果將是 「上午9點」,這是我想要的。如果我輸入9 + "AM"
,那就是我得到的結果。爲什麼只給我「AM」?
我在這裏犯了一個愚蠢的錯誤,還是有什麼東西超出了我對JavaScript內部工作的有限理解? i
只是一個for
循環變量。
不恰當地使用條件運算符,還要檢查truthy和falsey的值 - http://james.padolsey.com/javascript/truthy-falsey/ – adatapost