Javascript 另一个变量中的setDate方法返回不同的值

Javascript 另一个变量中的setDate方法返回不同的值,javascript,date,Javascript,Date,为什么这些不一样 var now = new Date(); now.setDate(3); console.log(now) //returns formatted date depending on current date 而且 var now = new Date(); var day = now.setDate(3); console.log(day) //returns just numbers 因为setDate返回它应该返回的值,这是 返回值:一个数字,表示毫秒数 日期对象

为什么这些不一样

var now = new Date();
now.setDate(3);
console.log(now) //returns formatted date depending on current date
而且

var now = new Date();
var day = now.setDate(3);
console.log(day) //returns just numbers


因为setDate返回它应该返回的值,这是

返回值:一个数字,表示毫秒数 日期对象和1970年1月1日午夜之间


返回的值在两者中相同。一个记录赋值返回,另一个记录赋值后的整个对象。正确,而请求日期对象本身会返回完全格式化的日期,这是应该的。