在学习js过程中遇到了这样的写法:
var now=+new Date();
在这段代码中有一个+号,上网查阅得知在前面加一个+号是涉及到了隐式转换,也就是触发对象执行valueof进行求值。
valueof可以用来得到现在时间距离1970.1.1总的毫秒数:
var date=new Date();
console.log(date.valueOf()); //1685519645884
通过下面的代码:
var date=new Date();
var now=+new Date();
console.log(date);
console.log(now);
console.log(date.valueOf());
可以得知data.valueof()和在new Date()前面加上一个加号返回的结果是一样的。
如果在括号里面加上时间,则是输入的时间距离1970.1.1总的毫秒数:
var input=+new Date('2023-5-31 20:00:00');
console.log(input);