JavaScript 关键字'new'如何影响'Date'返回值



我一直在使用这个来比较IE和其他浏览器的日期但是谁能解释一下这有什么不同吗?


Date()Date("2014-08-05T07:47:02.051Z")

有不同的结果:

new Date()new Date("2014-08-05T07:47:02.051Z")


有什么问题会出现吗?

编辑

当我执行console.log(Date(expiryDate),Date())它只是给出相同的值。

ES5规范说得很清楚:

Date作为函数而不是构造函数调用时,它返回一个表示当前时间的String。

如果你想要一个真正的Date实例,你必须用new操作符来调用它。如果您对日期的字符串表示很满意,则不需要使用new操作符。

换句话说,如果你需要能够在你的日期(如getTimesetHours)调用方法,你需要使用new Date,但如果你只想要一个字符串,你可以使用Date

最新更新