Javascript 为什么这些日期对象不同?
我想知道为什么这两个日期对象在控制台中有不同的输出。在我看来应该是一样的,但我可能错了:)Javascript 为什么这些日期对象不同?,javascript,date,Javascript,Date,我想知道为什么这两个日期对象在控制台中有不同的输出。在我看来应该是一样的,但我可能错了:) var twoLinesSetup=new Date(); twoLinesSetup.setHours(0,0,0); var inlineSetup=new Date().setHours(0,0,0) log('twoLinesSetup',twoLinesSetup); log('inlineSetup',inlineSetup)twoLinesSetup包含实例化Date构造函数的返回值,该构
var twoLinesSetup=new Date();
twoLinesSetup.setHours(0,0,0);
var inlineSetup=new Date().setHours(0,0,0)
log('twoLinesSetup',twoLinesSetup);
log('inlineSetup',inlineSetup)
twoLinesSetup
包含实例化Date
构造函数的返回值,该构造函数返回一个新的Date
实例对象
inlineSetup
包含来自setHours
方法的返回值,该方法返回twoLinesSetup
包含来自实例化Date
构造函数的返回值,该构造函数返回一个新的Date
实例对象
inlineSetup
包含来自setHours
方法的返回值,该方法返回inlineSetup存储setHours的返回值。它是“在日期对象和1970年1月1日午夜之间”
twoLinesSetup是一个实际对象,您可以对其进行操作。控制台输出“toString”方法(如果您希望这样),就是您看到的格式化字符串表示形式
理论上,你应该通过这样做看到相同的数字 inlineSetup存储setHours的返回值。它是“在日期对象和1970年1月1日午夜之间” twoLinesSetup是一个实际对象,您可以对其进行操作。控制台输出“toString”方法(如果您希望这样),就是您看到的格式化字符串表示形式
理论上,你应该通过这样做看到相同的数字 您正在为
setHours()
调用inlineSetup
分配返回值。这不是Date
对象,而是一个表示日期毫秒数的数字。您正在将setHours()
调用的返回值分配给inlineSetup
。这不是Date
对象,而是一个表示日期毫秒数的数字。因为setHours()
将毫秒数作为数字返回,而不是Date
实例?!因为setHours()?!