2012-01-15 2 views
0

"시작"함수와 "정지"함수를 정의하고 싶다고 말하면서 호출 된 두 함수 사이의 실시간을 가능한 정확하게 출력하고 싶다고합시다. 경과 된 시간은 아마도 마이크로 초입니다.두 개의 서로 다른 입력 사이의 시간에 대한 자바 스크립트

+1

지금까지 무엇을 가지고 계셨습니까? –

+0

아무 것도 없습니다. 실제로는 자바 스크립트 마스크가 아닙니다. – jamesson

+0

@jamesson 당신은 스스로 시도하지 않으면 사람들이 일반적으로 대답을주지 않을 것입니다. 세탁기와 같아서 넣은 것에서 빠져 나옵니다. 솔루션을 찾는 데 아무런 노력을 기울이지 않으면 반응에 많은 노력을 기울이지 않을 것입니다. –

답변

1

각 메서드의 시작 부분에 새 Date 개체를 만듭니다. getTime() 메서드를 사용하여 날짜의 밀리 초 값을 가져옵니다. end 값에서 start 값을 빼십시오. 그것이 밀리 초 단위의 차이입니다.

나는 브라우저 사이드 자바 스크립트에서 밀리 초 시간 해상도보다 좋은 방법을 알 수 없다.

1

매뉴얼, 구식 방법입니다 : 당신이 현대 크롬의 경우

var a = new Date(); 

// do stuff 

var b = new Date(); 

console.log("stuff took:", b.getTime() - a.getTime()); 

, 당신은이에 대한 콘솔의 지원 사용할 수 있습니다

console.time('stuff'); 

// do stuff 

console.timeEnd('stuff'); 

을 그리고 그것은 시간을 인쇄합니다 너를 위해서.

0

Date 개체의 세분성은 밀리 초로 제한되어 있으므로 최선을 다할 수 있습니다.

var Host = { 
    start : function() { 
     this.time = new DateTime().getTime(); 
     //method 
    }, 
    stop : function() { 
     this.diff = this.time - new DateTIme().getTime(); 
     //do stuff 
    } 
} 
0

타이머가 절대 있도록 타이머를 시작한다는 것은 진입 점

입니다에 내가 생각할 수있는 가장 정확한 방법은 순서가 설정되어이 경우

setTimeout(function2, offset) 
function1(); 

를 사용하는 것

function1(); 
setTimeout(function2, offset) 

이 경우 타이머의 시작점은 첫 번째 기능의 완료와 관련이 있습니다.

관련 문제