我是第一次接触
JavaScript.我咨询了我的同事如何获得当前时间.
他告诉我这段代码:
> d = new Date() > d.valueOf()
但大多数人这样做:
> Date.now()
第二种方法更简单,更易读.
如果我想说服我的同事使用第二个,我应该如何解释他的不同之处?
解决方法
有几种方法可以在JavaScript中获取当前时间:
> new Date()
创建表示当前日期/时间的Date对象
> new Date().valueOf()
返回自UTC时间1970年1月1日午夜以来的毫秒数
> new Date().getTime()
在功能上等同于新的Date().valueOf()
> Date.now()
功能相当于上述2种方法
正如评论和MDN链接中所提到的,Internet Explorer 8不支持Date.now().因此,如果要考虑IE 8兼容性,则应使用新的Date().valueOf(),代价是代码可读性略有下降.
或者,如果您想使用Date.now()但必须与不支持它的浏览器兼容,您可以在JavaScript文件中的某处放置以下代码,这将增加对它的支持.
if (!Date.now) { Date.now = function() { return new Date().getTime(); } }