使用Date
对象获取当前时间的方法有多种,以毫秒为单位:
(new Date()).getTime();
+new Date();
Date.now();
假设您不需要创建一个对象,只需要一个当前时间(以毫秒为单位),哪一个最有效?在表现方面。
编辑:我理解大多数开发人员都不会关心这一点,但是当你在低技术的嵌入式环境中工作或者只是为了消除好奇心时,这可能很重要。答案 0 :(得分:12)
Date.now()
获胜。见jsperf.com test
但正如上面的评论中所指出的,与你将要做的任何其他事情相比,CPU成本可能无趣。
@techfoobar提到了分配Date对象的成本(或者,实际上,垃圾收集那些Date对象的成本)。这可能是也可能不是一个重要的胜利,因为Date.now()可能正在分配Number对象,这将是非常昂贵的。
答案 1 :(得分:0)
此外,如果为时间戳数据以外的任何内容获取时间戳,例如代码的计时,退一步思考是否可以通过 setTimeout / setInterval 调用来实现同样的想法总是一个好主意。