+new Date()
js在某个数据类型前使用'+',目的是为了将该数据类型转换为Number型,
如果转换失败,则返回NaN
试一试
let data = new Date();
console.log(data);
//返回Wed Jun 15 2022 10:51:29 GMT+0800 (中 国标准时间)
let data1 = +new Date();
console.log(data1);
//返回1655261517125
好家伙,那我岂不是可以不写get Time()获取时间戳了.真不搓.
(+new Date()会调用Date.prototype上面的valueOf方法)
百度来的答案,尝试,
console.log(+new Date());//1655262772345
Date.prototype.valueOf = function () {
console.log(1); //这里没有打印
return this; //这里也没
}
这里没有打印,说明没有调用?
再尝试
console.log(+new Date()===new Date().valueOf());
console.log(new Date().getTime()===new Date().valueOf());
//上面代码未注释,是false,注释了是true.这就很费解???/?
JavaScript中的valueOf()方法是用于返回string对象原始值的,通常由JavaScript内部调用,而不是在代码中显式调用。