Javascript 作为构造函数和函数的日期

Javascript 作为构造函数和函数的日期,javascript,datetime,getter,ecmascript-5,defineproperty,Javascript,Datetime,Getter,Ecmascript 5,Defineproperty,我怎么知道Date何时被作为构造函数调用(带有“new”)以及何时被作为函数调用 更新 答案不适用于这种情况。 此始终等于一个窗口日期是一个构造函数。它就像任何JavaScript构造函数一样。当你使用它时,你总是需要使用新的 新日期后您需要()只需saying@Wade:当您使用new时,请注意,您定义的getter总是在全局对象上调用。只有被调用的函数才能真正区分构造函数和函数调用。@Bergi抱歉,need是一个强有力的词。这不是约定吗?@Wade:我不认为这是约定,只是你看到的大多数构造

我怎么知道Date何时被作为构造函数调用(带有“new”)以及何时被作为函数调用

更新
答案不适用于这种情况。

始终等于一个
窗口

日期是一个构造函数。它就像任何JavaScript构造函数一样。当你使用它时,你总是需要使用新的


新日期后您需要()只需saying@Wade:当您使用
new
时,请注意,您定义的getter总是在全局对象上调用。只有被调用的函数才能真正区分构造函数和函数调用。@Bergi抱歉,need是一个强有力的词。这不是约定吗?@Wade:我不认为这是约定,只是你看到的大多数构造函数调用都带有参数,你需要括号来表示这些参数。这是非常不真实的。除非在函数内部明确定义,否则您永远不必严格使用new。
var a = Date;
Object.defineProperty(window, "Date", { get: function() { console.log(this); return a; } });

(new Date);
Date();