2016-12-02 45 views
0

我更多地谈论如何添加“新”影响变种,为什么/何时使用,以及为什么我打印时都得到相同的答案?var now = new Date();和var now = Date();

+3

http://stackoverflow.com/questions/9584719/date-vs-new-date-in-javascript – Lain

+1

^...或[文档](https://developer.mozilla.org/en-US /文档/网络/的JavaScript /参考/ Global_Objects /日)。 – Teemu

回答

1

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

当你写:

 var d = Date(); 

你得到一个字符串值与它的当前日期。但这是一个字面值。例如,您不能在日期上添加3年。

但是,当你写:

 var d = new Date(); 

你回来的对象是通过属性和方法可操作。所以,你可以写:

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

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

最好的经验法则是,当您看到以大写字母(a.k.a.Pascal Case)开头的内容时,您应该使用new并期望Object返回。

请参阅this了解更多信息。在Date()对象上。

+0

所以只是为了澄清:添加新的变种变成一个对象,而这又是一个多元值的集合? –

+0

@BenjaminMalovrh排序。您将拥有一个对象,在这种情况下,它不会存储多个值,但该对象提供了一组可用于存储在对象中的数据的操作。不同的对象将存储不同的数据(许多存储多个值)并提供不同的操作集。 –

相关问题