Просматривая источник jQuery в функции now(), я вижу следующее:
function now(){
return +new Date;
}
Я никогда не видел, чтобы оператор "плюс" был добавлен к новому оператору, как это. Что он делает?
Ответ 1
Nicolás и Brian правы, но если вам интересно, как это работает, +new Date(); эквивалентно (new Date()).valueOf();, потому что унарный + получает значение своего операнда, а затем преобразует его ToNumber.
Вы можете добавить метод valueOf для любого объекта и использовать оператор унарного + для возврата числового представления вашего объекта, например:
var productX = {
valueOf : function () {
return 500; // some "meaningful" number
}
};
var cost = +productX; // 500
Ответ 2
Я думаю, что оператор унарного плюса, примененный ко всему, заставит его преобразовать в число.
Ответ 3
Он преобразует Date() в целое число, предоставляя вам текущее количество миллисекунд с 1 января 1970 года.