使用JS Date对象以最快和最轻的方式获取当前时间(以毫秒为单位)

She*_*zod 8 javascript performance date

有多种方法可以使用Dateobject 获取当前时间(以毫秒为单位):

(new Date()).getTime();
+new Date();
Date.now();
Run Code Online (Sandbox Code Playgroud)

假设你不需要创建一个对象而只需要一个以毫秒为单位的当前时间,哪一个是最有效的?在性能方面.

编辑:我理解大多数开发人员都不关心这一点,但是当你在低技术的嵌入式环境中工作或者只是为了消除好奇心时,这可能很重要.

bro*_*ofa 12

Date.now()胜.请参阅jsperf.com test

但正如上面的评论中所指出的,与几乎任何你将要做的事情相比,CPU成本可能无趣.

@techfoobar提到了分配Date对象的成本(或者,实际上,收集那些Date对象的垃圾的成本).这可能是也可能不是一个重要的胜利,因为Date.now()可能正在分配Number对象,这将是非常昂贵的.