Blackbing Playground

取得目前的Time stamp,以及「+」運算符的特性

一般來說,我們都會用

1
new Date().getTime()

來取得目前的time stamp,今天在cssRain看到JavaScript—new Date().getTime()的简写方式,發現

1
+new Date()

這兩個會出現相同的結果,這讓我不禁好奇了「+」這個運算符他的特殊用法,
測試了幾個結果:

1
2
3
4
5
6
7
8
9
console.log(+"01");//1
console.log(+"100");//100
console.log(+"1px");//NaN
console.log(+"abc");//NaN
console.log(+"abc");//NaN
console.log(+{obj:'obj'});//NaN
console.log(+['array']);//NaN
console.log(+true);//1
console.log(+false);//0

OK~「+」運算符的功能就是像new Number()的結果,因此
new Number(new Date()) 也是跟
+new Date() 是一樣的結果

結論:


  1. +運算符放在任何變數前面,會將該變數轉成number型態,但跟parseInt()是不同的(parseInt(‘1px’) = 1)。

  2. 以下結果相同:

    1. new Date().getTime()

    2. new Number(new Date())

    3. +new Date()