我瞭解行爲的差異。 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