2017-01-13 6 views
5

Hallo Ich bin ein Anfänger in Javascript-Programmierung.Wie kann ich die Laufzeit von Javascript messen?

Ich habe ein einfaches Spiel erstellt, wo ein Benutzer auf Boxen klicken muss. Das Spiel endet, wenn der Benutzer auf 16 Felder klickt.

Ich möchte die verstrichene Zeit messen, die der Benutzer benötigt, um das Spiel zu beenden. Wie mache ich es mit Javascript?

Edit: Ich hätte klarer sein sollen. Ich habe den Algorithmus in meinem Kopf. Ich habe meine Nachforschungen gemacht. Ich habe mir verschiedene Antworten angesehen. Aber sie waren nicht hilfreich, weil sie ihren eigenen Code zeigten, den ich schwer verstehen konnte.

Timer Start: Wenn Benutzer klickt auf das erste Feld

Timer Ende: Wenn der Benutzer das letzte Feld

Sie klickt Dank.

+0

Speichern Sie die Zeit in Millisekunden, wenn der Benutzer gestartet wurde, und dann am Ende, um die Zeit in Millisekunden zu verstreichen. Ich lasse dich ein bisschen recherchieren, weil du anscheinend noch nicht viel getan hast – AxelH

+0

Weiter duplizieren: http://stackoverflow.com/questions/313893/how-to-measure-time-taken-by-a- function-to-execute – icc97

Antwort

20

Klicken Sie auf Start und dann auf Beenden. Es zeigt Ihnen die Anzahl der Sekunden zwischen den 2 Klicks.

Die Millisekunden Diff ist in Variable timeDiff. Spielen Sie mit ihm Sekunden/Minuten/Stunden finden/was Sie

var startTime, endTime; 
 

 
function start() { 
 
    startTime = new Date(); 
 
}; 
 

 
function end() { 
 
    endTime = new Date(); 
 
    var timeDiff = endTime - startTime; //in ms 
 
    // strip the ms 
 
    timeDiff /= 1000; 
 

 
    // get seconds 
 
    var seconds = Math.round(timeDiff); 
 
    console.log(seconds + " seconds"); 
 
}
<button onclick="start()">Start</button> 
 

 
<button onclick="end()">End</button>

+2

Warum sollte jemand dies ablehnen? Es ist eine gute Antwort –

+0

Vielen Dank für Ihre freundliche Antwort! Sehr, sehr klar und leicht zu verstehen! Ich werde damit spielen, um auf meinen Code anzuwenden! – Leonard

+1

@Leonard Vergessen Sie nicht, die Antwort zu akzeptieren – Weedoze

0
var seconds = 0; 
setInterval(function() { 
    seconds++; 
}, 1000); 

Es müssen Sie gehen, jetzt haben Sie eine variable Zählung Sekunden verstrichen. Da ich den Kontext nicht kenne, müssen Sie entscheiden, ob Sie diese Variable an ein Objekt anhängen oder global machen wollen.

Das eingestellte Intervall ist einfach eine Funktion, die eine Funktion als ersten Parameter und eine Anzahl von Millisekunden zur Wiederholung der Funktion als zweiten Parameter übernimmt.

Sie könnten dies auch lösen, indem Sie Zeiten speichern und vergleichen.

+0

Vielen Dank für Ihre freundliche Erklärung. Ich habe eine andere Art gelernt, die Zeit zu messen :) – Leonard

Verwandte Themen