我在我的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