sunmaobin / sunmaobin.github.io

blog
https://github.com/sunmaobin/sunmaobin.github.io
174 stars 11 forks source link

JS解惑-一元操作符+操作 #34

Open sunmaobin opened 7 years ago

sunmaobin commented 7 years ago

你知道 +new Date() 结果等于多少吗?

背景

昨天看到一种书写方式,当时就有点懵,写法如下:

var time = +new Date();

好奇之,就Google了一下,豁然开朗,于是分享之……

结果

以上代码,等于如下代码:

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

所以,结果其实就是 当前时间的时间戳,也等于如下结果:

new Date().getTime();//20170329205038

引申

+ 可以与以下类型进行运算:

结果如下:

+undefined

+undefined = NaN(Not As Number的意思)

扩展: undefined 和其它任何值进行任何运算结果都是NaN,比如:1+undefined,6*undefined等

+null

扩展: 1+null = 1

+Object

+Array

扩展: +[2,3][1] = 3(相当等于 +3 = 3)

+Boolean

+Date

+String

其实,+String我们经常见,就是把String转换为数子然后操作,如果无法转换为数字,那么结果就是NaN啦!

参考

(全文完)