我了解行为的差异。 Date()
返回一个表示当前日期的字符串,并且new Date()
返回其可以调用其方法的Date对象的实例。我不知道为什么。 JavaScript是原型的,所以Date
是一个函数和一个对象,它具有也是对象的成员函数(方法)。但是我没有写或读过任何这样表现的JavaScript,我想了解它们的区别。为什么我需要JavaScript中的`Date`实例的`new`关键字?
有人可以告诉我一些函数的示例代码,该函数有一个方法,用new运算符返回一个实例,并直接调用时输出一个字符串?即如何发生这样的事情?
Date(); // returns "Fri Aug 27 2010 12:45:39 GMT-0700 (PDT)"
new Date(); // returns Object
new Date().getFullYear(); // returns 2010
Date().getFullYear(); // throws exception!
非常具体的要求,我知道。我希望这是一件好事。 :)
重新*为什么*:这是一个不幸的hango ver从原来的JavaScript实现,使其成为ECMAScript规范:http://bclary.com/2004/11/07/#a-15.9.2 – 2010-08-27 20:06:03
哦!谢谢。我喜欢背景和历史。这很好_why_。 :) – 2010-08-27 20:09:29
谢谢@新月。我已经将这一点纳入我的答案完整性。 – 2010-08-27 20:14:33