2009-03-31 11 views
0

In JavaScript, es scheint, dass Sie entweder schreiben können:Syntax für Instanziierungsanwendung JavaScript-Date-Objekte

new Date().getTime(); 

... oder:

(new Date).getTime(); 

Die erste ist logisch, aber die zweite scheint ein wenig ungewöhnlich für mich ... Gibt es einen Unterschied zwischen diesen beiden Möglichkeiten, ein Date-Objekt zu erstellen, und was ist der Zweck des zweiten?

Danke,

Steve

Antwort

4

Es scheint, dass in Javascript Sie Konstruktor ohne parethesis aufrufen können. Zumindest funktioniert es mit meinem Firefox. Also (neues Datum) == neues Datum()

Daraus ergibt sich, dass beide Ausdrücke äquivalent sind. Alternativ könnten Sie schreiben

(new Date()).getTime(); 

Was ist, was ich normalerweise tue.

Und ich denke, es ist nur eine Frage der persönlichen Präferenz. Der neue Operator hat Vorrang vor dem. Operator, aber die visuelle könnte vorschlagen, anders herum ...