我在 JavaScript 中设置了一个断点,并在 Chrome 浏览器的控制台窗口中输入了以下表达式:
输入:
(((i % 12) == 0) ? '12' : (i % 12))
Run Code Online (Sandbox Code Playgroud)
结果:
9
Run Code Online (Sandbox Code Playgroud)
输入:
' ' + (i < 12) ? 'AM' : 'PM'
Run Code Online (Sandbox Code Playgroud)
结果:
"AM"
Run Code Online (Sandbox Code Playgroud)
输入:
(((i % 12) == 0) ? '12' : (i % 12)) + ' ' + (i < 12) ? 'AM' : 'PM'
Run Code Online (Sandbox Code Playgroud)
结果:
"AM"
Run Code Online (Sandbox Code Playgroud)
我的期望是最后的结果是“9AM”,这就是我想要的。这就是我输入的结果9 + "AM"。为什么它只给我“AM”?
我是在某个地方犯了一个愚蠢的错误,还是有什么超出了我对 JavaScript 内部工作原理的有限理解的地方?i只是一个for循环变量。
小智 5
将第二个三元括在括号中,它可以工作:
(((i % 12) == 0) ? '12' : (i % 12)) + ((i < 12) ? 'AM' : 'PM')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5339 次 |
| 最近记录: |