javascript Date().valueOf()正在开发PC上运行,但不在服务器提供的页面上
从服务器启动页面时,当我单步执行代码时,IE9调试器(F12 developer tools->script debugger)在Locals窗口中显示以下内容:javascript Date().valueOf()正在开发PC上运行,但不在服务器提供的页面上,javascript,date,value-of,Javascript,Date,Value Of,从服务器启动页面时,当我单步执行代码时,IE9调试器(F12 developer tools->script debugger)在Locals窗口中显示以下内容: midnight Fri Mar 15 00:00:00 EDT 2013 Object, (Date) myDate Fri Mar 15 00:00:00 EDT 2013 Object, (Date) 然而,以下关于值相等的条件测试解析为false: if (midnight.value
midnight Fri Mar 15 00:00:00 EDT 2013 Object, (Date)
myDate Fri Mar 15 00:00:00 EDT 2013 Object, (Date)
然而,以下关于值相等的条件测试解析为false
:
if (midnight.valueOf() === myDate.valueOf() ) {
// these lines of code are never reached
.
.
.
}
奇怪的是,===测试在我的开发PC上解析为true
。我不明白为什么它在服务器提供的页面上解析为false
。调试器明确指出它应该解析为true
文档处于“IE9标准”模式。valueOf方法以数字数据类型返回日期对象的原始值,即自UTC 1970年1月1日午夜以来的毫秒数
调试器只显示秒数,因此变量实际上可能不同。locale?不过还是很奇怪。应该是一个评论(这个问题目前很模糊),尽管它包含了一个线索:实际的纪元偏移量是多少?@pst:chris给我指出了正确的方向。当日期被实例化时,它们被实例化:
var d=new Date();d、 设定时间(0);d、 设置分钟(0);d、 设置秒(0)
。现在我添加了d.setMillseconds(0)
。