var now = new Date()之间的区别;和var now = Date();

时间:2016-12-02 21:02:46

标签: javascript variables

我更谈论添加“新”如何影响var,为什么/何时使用它,以及为什么我在打印时得到相同的答案?

1 个答案:

答案 0 :(得分:1)

在JavaScript中,Date()是所谓的“构造函数”。构造函数通常以大写字母开头表示(按惯例)。因此,JavaScript开发人员应该知道他们何时看到这个来创建由该函数构造的对象的“实例”。

当你写:

     var d = Date();

您会获得一个字符串值,其中包含当前日期。但这是一个字面值。例如,您不能在该日期增加3年。

但是,当你写:

     var d = new Date();

您可以获得可通过属性和方法操作的对象。所以,你可以写:

     d.setFullYear(d.getFullYear() + 3);

通常,我们不想要字符串。我们想要一个对象,因为它是动态的,我们可以用它做更多的事情(包括将日期变成字符串)。

最好的经验法则是,当你看到以大写字母开头的东西(a.k.a. Pascal Case)时,你应该使用new并期待一个对象。

有关详细信息,请参阅 this 。在Date()对象上。