Paul: Variable erstellen oder dynamisch berechnen

Moin,
folgende Zeile (u.a.) wird jede Sekunde einmal aufgerufen:

var min = (Math.floor(time/60)>=60)?Math.floor(time/60)%60:Math.floor(time/60);

Nun stellt sich mir die Frage, ob es sinnvoll ist, "Math.floor(time/60)" in eine Variable abzuspeichern oder ob es besser ist, das oben genannte zu lassen?

Danke,
Paul

  1. var min = (Math.floor(time/60)>=60)?Math.floor(time/60)%60:Math.floor(time/60);
    Nun stellt sich mir die Frage, ob es sinnvoll ist, "Math.floor(time/60)" in eine Variable abzuspeichern oder ob es besser ist, das oben genannte zu lassen?

    Warum nicht einfach nur var min = Math.floor(time/60)%60; ? Damit sparst du dir als erstes einen Vergleich und dann auch noch einen Funktionsaufruf. Oh, und nicht zu vergessen, der Code ist dann viel übersichtlicher.

    MfG
    bubble

    --
    If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
    1. Warum nicht einfach nur ...

      Dann stellt sich natürlich auch de Frage nicht mehr :-)

      Danke!

  2. Nun stellt sich mir die Frage, ob es sinnvoll ist, "Math.floor(time/60)" in eine Variable abzuspeichern oder ob es besser ist, das oben genannte zu lassen?

    Besser wäre das. Performanz-technisch wirst du nicht viel gewinnen, aber die Fehleranfälligkeit wird durch Vermeiden von reduntantem Code verbessert und die Leserlichkeit gleichzeitig erhöht.

    Aber warum überhaupt so umständlich?
    Warum nicht einfach:

      
     var min = Math.floor( time / 60 );  
    
    
    1. Warum nicht einfach:

      var min = Math.floor( time / 60 );

        
      Sollte `  var min = Math.floor( time / 60 ) % 60;  `{:.language-javascript} heißen. [Wie bubble auch schon vor mir drauf hingewiesen ha](https://forum.selfhtml.org/?t=212961&m=1455392)t.  
      
      
    2. Vielen Dank für den Link!

  3. Auch wenn diese Formel bereits optimiert wurde, bei sowas sollte man auch immer bedenken dass mehrfache Aufrufe der Funktion time verschiedene Ergebnisse liefern könnten.

    1. Moin

      ... Funktion time ...

      time ist bei mir eine Variable, die jedes Sekunde um eins hochgezählt wird. Die Absolute Zeit interessiert mich hier nicht.

      Trotzdem Danke