1

我正在使用此代码将日期对象转换为日期字符串。

 var startDate = dateObject;
 var dateString = startDate.getMonth() + 1 + "/" + startDate.getDate() + "/" + startDate.getFullYear(); // to display in "M/d/yyyy" format

发生的情况是在 IE 10 中需要 0.003 秒,我正在转换超过 10000 个日期,它会影响我的应用程序的整体性能。有什么方法可以提高性能吗?

我正在使用此代码来检查性能。

var d = new Date();
var startDate = dateObject;
var dateString = startDate.getMonth() + 1 + "/" + startDate.getDate() + "/" + startDate.getFullYear();
$startTimeCol.html(dateString);
var ticks = ((new Date() - d) / 1000);        
console.log("toString: " + ticks + "sec");
4

1 回答 1

1

好的,这需要一些时间来整理和测试。

您很可能希望使用 String().concat。在此处查看比较代码,http://jsfiddle.net/VbCyP/1/

我比较了 3 个版本:与 + 的字符串连接、与数组和连接的字符串连接以及 String.concat。

在 2009 Macbook 上测试最新版本的 Chrome、Safari 和 Firefox 时,String().concat 始终是该操作最快的。

来自 jsfiddle 的示例代码:

var x = String().concat(dates[i].getMonth() + 1, '/', dates[i].getDate(), '/', dates[i].getFullYear());
于 2013-03-14T07:59:21.817 回答