【发布时间】:2013-04-30 09:00:57
【问题描述】:
最近我在玩 JS,发现了一些有趣的东西。这就是我在 chrome 控制台中写入的内容:
today = new Date()
-> Mon Apr 29 2013 13:06:01 GMT+0200 (CEST)
DAY = 1000 * 3600 * 24
-> 86400000
today - 2 * DAY
-> 1367060761452
today + 2 * DAY
-> "Mon Apr 29 2013 13:06:01 GMT+0200 (CEST)172800000"
我想知道为什么我得到不同类型的答案取决于操作类型 - 加/减。当我做这样的事情时:
today - (-2) * DAY
一切都很好。有没有什么意识形态,还是一个bug?
【问题讨论】:
-
这是因为
+可以是加法或字符串连接运算符,具体取决于上下文。 (如果您有一个字符串值并尝试向其“添加”任何内容,则第二个参数通常会转换为字符串,并且会发生连接而不是添加。)
标签: javascript date time