我的代码如下:
oTable = $('#dataTable').dataTable({
"sScrollX": "100%",
"bScrollCollapse": true,
iDisplayLength: -1,
aLengthMenu: [[-1, 25, 50, 200, "All"], [10, 25, 50, 200, "All"]],
aoColumnDefs: [
{ "sSortDataType":"dom-data-rk", "aTargets": ["sort-data-rk"] },
{ "sType": "date-uk", "aTargets": ["sort-date-uk"] },
{ "sType": "datetime-uk", "aTargets": ["sort-datetime-uk"] }
]
});
有没有办法计算这段代码使用javascript或jQuery执行多长时间。类似于C#中的秒表方法?
答案 0 :(得分:5)
您可以使用控制台时间并验证需要多长时间。
console.time('profile');
for ( var i=0; i < 100000; i++) {
var arr = new Array();
}
var time = console.timeEnd('profile');
变量时间将以毫秒为单位 例: http://jsfiddle.net/dadviegas/dV9rf/
适用于所有浏览器
var one=new Date();
for ( var i=0; i < 100000; i++) {
var arr = new Array();
}
var two=new Date();
//Calculate difference btw the two dates
alert(two.getMilliseconds()-one.getMilliseconds());
我在jsfiddle中添加了这个解决方案
答案 1 :(得分:1)
试试这个:
var start = new Date();
var startTime = start.getTime();
// do whatever you want, your code
var end = new Date();
var endTime= end.getTime();
var timeTaken = end - start;
alert('Execution time is : ' + timeTaken);
答案 2 :(得分:0)
是否有日期对象
var t = new Date;
//some processing here
console.log( new Date - t );
答案 3 :(得分:0)
对于IE,你需要使用类似这样的东西
var start = new Date().getTime();
oTable = $('#dataTable').dataTable({
"sScrollX": "100%",
"bScrollCollapse": true,
iDisplayLength: -1,
aLengthMenu: [[-1, 25, 50, 200, "All"], [10, 25, 50, 200, "All"]],
aoColumnDefs: [
{ "sSortDataType":"dom-data-rk", "aTargets": ["sort-data-rk"] },
{ "sType": "date-uk", "aTargets": ["sort-date-uk"] },
{ "sType": "datetime-uk", "aTargets": ["sort-datetime-uk"] }
]
});
var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time);
答案 4 :(得分:0)
这是C#秒表主要功能的实现。它使用新的performance.now()函数 - 比getTime()更准确 - 如果可用的话。
var Stopwatch = function () {
var startTime;
var hasPerformance = window.performance && window.performance.webkitNow;
return {
start: function () {
startTime = hasPerformance ? window.performance.webkitNow() : new Date().getTime();
},
end: function () {
this.elapsed = (hasPerformance ? window.performance.webkitNow() : new Date().getTime()) - startTime;
},
elapsed: 0
};
}
用法:
var myStopwatch = Stopwatch();
myStopwatch.start();
/* code you want to time goes here */
myStopwatch.end()
alert("It took " + stopwatch.elapsed + " milliseconds!");
答案 5 :(得分:0)
内置的JS计时器根本没有提供良好的准确性。
我喜欢dynatrace AJAX版。它是一个IE插件,可以提供非常好的时间。