2009-07-08 22 views
4
function now(){ 
    return +new Date; 
} 

問題在下面的函數的加號(+)的作用:什麼是從jQuery的源代碼摘錄

  1. 什麼的加號是什麼意思?
  2. 當你能創建新對象與構造函數,但沒有以下括號,如new Date但不new Date()

十分感謝!

+3

1.看http://stackoverflow.com/questions/221539/what-does-the-plus-sign-do-in-return-new-date – harto 2009-07-08 07:00:47

回答

8

1。加號是一元+運算符。

即表達式等價於日期對象到數:

function now(){ 
    return Number(new Date); 
} 

2。如果不加括號,該new operator將調用對象類型(日期)parameterlessly

+1

......和轉換'Date'到一個'Number'(任何你這樣做的方式),基本上,只是一種調用'getTime()'的不太可讀的方式:https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/getTime – gustafc 2009-07-08 07:25:46

3
  1. 使用加號將日期轉換爲數字(毫秒數自1970年1月1日)

  2. 只要沒有參數,您可以這樣做 - 雖然您可能希望將它們包括在內以保持可讀性。