我有以下代码。当代码第一次运行时,它会在第三行创建无效。当我调试代码时,我发现rowObj.$$lastModifiedTime
的值是: 1385433554848 。
当我将此数字放在 jsfiddle.net 中并运行代码时,它会创建日期对象。因此,我很困惑这里发生了什么。我在调试代码时遗漏了什么?
我感谢你花时间和精力回答我的问题。
_getLastUpdated: function(rowObj) {
if(rowObj && rowObj.$$lastModifiedTime) {
var lastUpdated = new Date(parseInt(rowObj.$$lastModifiedTime, 10)); //this line gives invalid date the first time it runs
lastUpdated.setMilliseconds(lastUpdated.getMilliseconds() + utils.Utils.instance().getServerTimeDifference(lastUpdated));
var locale = utils.Utils.instance().getLocale();
var dateFormatString = utils.Utils.instance().getLocaleDateString(locale)+" hh:MM:ss TT";
var dateString = utils.Utils.instance().dateFormat(lastUpdated,dateFormatString);
return dateString;
}
return '';
}
答案 0 :(得分:0)
错误在getServerTimeDifference(lastUpdated)中,它返回了一个对象而不是一个数字。这整个js是一个动态脚本,所以我会从稍后的函数调用dateFormat()返回到_getLastUpdated()。日期创建正常,但在添加毫秒时损坏了。但是,在调试器中,当我从_getLastUpdated()中的dateFormat()函数调用回来时,它向我显示lastUpdated对象即使在创建时也已损坏。