Answers:
那是+一元运算符,它等效于:
function(){ return Number(new Date); }
参见:http : //xkr.us/articles/javascript/unary-add/
并在MDN中:https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_plus
getTime
date对象使用定义的方法?
.getTime()
会始终确保这样做。
Date.now()
,这是获取日期和时间(以毫秒为单位)的首选方法。
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
这是有关“一元加”运算符的规范。希望能帮助到你...
只是提供一些更多信息:
如果您还记得,要查找两个日期之间的时差,只需执行以下操作;
var d1 = new Date("2000/01/01 00:00:00");
var d2 = new Date("2000/01/01 00:00:01"); //one second later
var t = d2 - d1; //will be 1000 (msec) = 1 sec
typeof t; // "number"
现在,如果您检查d1-0的类型,那么它也是一个数字:
t = new Date() - 0; //numeric value of Date: number of msec's since 1 Jan 1970.
typeof t; // "number"
该+还将日期转换为数字:
typeof (+new Date()) //"number"
但是请注意,0 + new Date()
将不会被类似地对待!它将被串联为字符串:
0 + new Date() // "0Tue Oct 16 05:03:24 PDT 2018"
它与以下功能完全相同:
function(){return 0 + new Date; }
结果与:
function(){返回新的Date()。getTime(); }
new Date/1