'+新日期'中的加号是做什么的

我在几个地方见过这个

function fn() {
    return +new Date;
}

我可以看到它正在返回一个时间戳而不是一个日期对象,但我找不到有关加号正在做什么的任何文档。

谁能解释一下?


这是+一元运算符,它相当于:

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

见:http://xkr.us/articles/javascript/unary-add/

并在MDN中:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_plus


JavaScript是松散的类型,所以它在某些情况下执行类型强制/转换:

http://blog.jeremymartin.name/2008/03/understanding-loose-typing-in.html
http://www.jibbering.com/faq/faq_notes/type_convert.html

其他例子:

>>> +new Date()
1224589625406
>>> +"3"
3
>>> +true
1
>>> 3 == "3"
true

这里是关于“一元添加”操作符的规范。 希望能帮助到你...

链接地址: http://www.djcxy.com/p/13577.html

上一篇: What does the plus sign do in '+new Date'

下一篇: Get current date/time in seconds