JavaScript中的’+ new’是什么意思?
通过函数now()
查看jQuery源代码,我看到以下内容:
function now(){ return +new Date; }
我从来没有见过像这样的新运算符前置加号运算符。 它有什么作用?
Nicolás和Brian是对的,但是如果你对它的工作原理感到好奇,那么+new Date();
相当于(new Date()).valueOf();
,因为一元+
运算符获取其操作数表达式的值 ,然后将其转换为ToNumber
。
您可以在任何对象上添加valueOf
方法,并使用一元+运算符返回对象的数字表示 ,例如:
var productX = { valueOf : function () { return 500; // some "meaningful" number } }; var cost = +productX; // 500
我认为应用于任何事物的一元加运算符会导致它被转换为数字。
它将Date()
转换为整数,为您提供自1970年1月1日以来的当前毫秒数。