2

如果我将当前时间作为参数传递给函数,哪种方式是正确的,Date()或者new Date()?以下面的代码为例,哪个更好?

function logTime(time) {
    console.log(time);
}

//One
var now = new Date();
logTime(now);

//Two
logTime(new Date());

//Three
logTime(Date());
4

3 回答 3

5

使用 可能会更好new Date,因为你会得到一个真正的 Date 对象。

> var d = Date();
undefined
> d
'Thu Aug 01 2013 02:22:19 GMT+0200 (CEST)'
> typeof d
'string'

日期,当用作普通函数时,返回一个字符串。当用作构造函数时,它返回一个具有 Date 原型的对象,因此您可以使用方法getTimegetSeconds

> d = new Date();
Thu, 01 Aug 2013 00:24:41 GMT
> typeof d
'object'
> d.getTime();
1375316681520
> d.getSeconds();
41
于 2013-08-01T00:25:50.817 回答
2

Date()只会输出时间戳

new Date()将返回一个实例Date,您可以使用它来调用它的函数。new当您传递参数以手动设置日期时,它更有用。

于 2013-08-01T00:23:23.950 回答
0

首先,new如果您需要其属性中的某些内容,则运算符是必不可少的。在此处阅读注释块: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

...对于缓存-事物:将其存储在变量中是没有意义的,因为您只需要时间戳。

于 2013-08-01T00:25:11.677 回答