用Javascript计算运行时间
我想用下面的代码来计算运行循环所需的时间,但不知怎的,我尝试过的所有东西都不起作用 我试过使用date,但它提供了非常不准确的时间 我尝试使用另一个间隔来检查元素是否已经存在,以及一些类似的解决方案,等等,但是结果总是一样的,Javascript总是在循环完成之前检查事情用Javascript计算运行时间,javascript,Javascript,我想用下面的代码来计算运行循环所需的时间,但不知怎的,我尝试过的所有东西都不起作用 我试过使用date,但它提供了非常不准确的时间 我尝试使用另一个间隔来检查元素是否已经存在,以及一些类似的解决方案,等等,但是结果总是一样的,Javascript总是在循环完成之前检查事情 var t=0; 函数myStartFunction(){ myVar=setInterval(函数(){ t++; document.getElementById(“tempo”).innerHTML=“经过的时间:”+t
var t=0;
函数myStartFunction(){
myVar=setInterval(函数(){
t++;
document.getElementById(“tempo”).innerHTML=“经过的时间:”+t+“segundos”;
}, 1000);
}
myStartFunction();
函数myStopFunction(){
净距(myVar);
}
var n=“”;
var i=0;
而(i<100000){
n+=“
”+i;
i++;
如果(i==100000){
///////////////////净距(myVar);
}
}
document.getElementById(“范围”).innerHTML=n代码>
循环运行时间
停止
运行时间:0秒
您可以使用Date
对象的getTime()
函数来获取与当前时间关联的UNIX时间戳
让initialTime=newdate().getTime();
对于(设i=0;i<100000000;i++){
//做点什么
}
让finalTime=new Date().getTime();
console.log('这花费了:'+(finalTime-initialTime)+'毫秒')
您可以使用Date
对象的getTime()
函数来获取与当前时间关联的UNIX时间戳
让initialTime=newdate().getTime();
对于(设i=0;i<100000000;i++){
//做点什么
}
让finalTime=new Date().getTime();
console.log('这花费了:'+(finalTime-initialTime)+'毫秒')代码>使用性能()。或检查
设t=0;
让start=performance.now();
设padZero=(v,n=2)=>`${v}`.padStart(n,0”);
让toTime=v=>
`经过时间(小时:毫米:秒:毫秒)${
padZero(数学楼层(v/(60*60000)))}:${
padZero(数学楼层(v/60000))}:${
padZero(数学楼层(v/1000))}:${
padZero(数学层(v%1000),3)};
myStartFunction();
函数myStartFunction(){
如果(performance.now()>10000){
返回console.log(`${toTime(performance.now()-start)}END`);
}
log(toTime(performance.now()-start));
setTimeout(myStartFunction,1000);
}
作为控制台包装{top:0;最大高度:100%!important;}
使用性能()。或检查
设t=0;
让start=performance.now();
设padZero=(v,n=2)=>`${v}`.padStart(n,0”);
让toTime=v=>
`经过时间(小时:毫米:秒:毫秒)${
padZero(数学楼层(v/(60*60000)))}:${
padZero(数学楼层(v/60000))}:${
padZero(数学楼层(v/1000))}:${
padZero(数学层(v%1000),3)};
myStartFunction();
函数myStartFunction(){
如果(performance.now()>10000){
返回console.log(`${toTime(performance.now()-start)}END`);
}
log(toTime(performance.now()-start));
setTimeout(myStartFunction,1000);
}
.as控制台包装{top:0;最大高度:100%!important;}
更新:我用KooiInc代码以正确的格式制作了这个,并更改了日期。性能时间。现在()
我对你的代码做了一些修改,这应该可以正确地计算while循环的时间。注释掉剩下的JavaScript代码,并将此代码放入脚本中
我不知道你需要什么ClearIntervalFunction,但是如果你给我更多关于你需要什么的细节,我可以帮助你创建这个函数
function loop() {
let n = "";
let i = 0;
while (i < 100000)
{
n += "<br>" + i;
i++;
}
return n;
}
function segundoFormatter(segundo) {
let zeros = 8;
let segundoArray = segundo.toString().split(".");
let number2Add = zeros - segundoArray[0].length;
let STR = "";
for(let i = 0; i < number2Add; i++){
STR += "0";
if(i == 1 || i == 3 || i == 5){
STR += ":";
}
}
let finalStr = STR + segundoArray[0] + segundoArray[1];
return finalStr.toString().substring(0,13);
}
window.onload = function(){
let startTime = performance.now()
let n = loop();
let endTime = performance.now()
let timeLoopTakes = (endTime - startTime);//00:00:00:0000
// segundoFormatter(timeLoopTakes);
document.getElementById("tempo").innerHTML = "Elapsed time: " +
segundoFormatter(timeLoopTakes) + " segundos";
//You can uncomment this line belowand get like 10000 things in your dom
//document.getElementById("range").innerHTML = n;
}
函数循环(){
让n=”“;
设i=0;
而(i<100000)
{
n+=“
”+i;
i++;
}
返回n;
}
函数segundo格式化程序(segundo){
设零=8;
让segundoArray=segundo.toString().split(“.”);
设number2Add=zeros-segudoArray[0]。长度;
设STR=“”;
for(设i=0;i
更新:我用KooiInc代码以正确的格式制作了这个,并更改了日期。性能时间。现在()
我对你的代码做了一些修改,这应该可以正确地计算while循环的时间。注释掉剩下的JavaScript代码,并将此代码放入脚本中
我不知道你需要什么ClearIntervalFunction,但是如果你给我更多关于你需要什么的细节,我可以帮助你创建这个函数
function loop() {
let n = "";
let i = 0;
while (i < 100000)
{
n += "<br>" + i;
i++;
}
return n;
}
function segundoFormatter(segundo) {
let zeros = 8;
let segundoArray = segundo.toString().split(".");
let number2Add = zeros - segundoArray[0].length;
let STR = "";
for(let i = 0; i < number2Add; i++){
STR += "0";
if(i == 1 || i == 3 || i == 5){
STR += ":";
}
}
let finalStr = STR + segundoArray[0] + segundoArray[1];
return finalStr.toString().substring(0,13);
}
window.onload = function(){
let startTime = performance.now()
let n = loop();
let endTime = performance.now()
let timeLoopTakes = (endTime - startTime);//00:00:00:0000
// segundoFormatter(timeLoopTakes);
document.getElementById("tempo").innerHTML = "Elapsed time: " +
segundoFormatter(timeLoopTakes) + " segundos";
//You can uncomment this line belowand get like 10000 things in your dom
//document.getElementById("range").innerHTML = n;
}
函数循环(){
让n=”“;
设i=0;
而(i<100000)
{
n+=“
”+i;
i++;
}
返回n;
}
函数segundo格式化程序(segundo){
设零=8;
让segundoArray=segundo.toString().split(“.”);
设number2Add=zeros-segudoArray[0]。长度;
设STR=“”;
for(设i=0;i