Ich habe eine Funktion codiert, um einen Tag aus einem Datumswert in Javascript zu entfernen, und ich war etwas überrascht, dass getMonth () von javascript von 0 für Januar bis 11 für Dezember startet. Warum beginnt getMonth () von Javascript mit 0?
javascript
mahen23
quelle
quelle
struct tm
es so gemacht hat.Antworten:
Vermutlich, um bei der Indizierung in Arrays zu helfen.
Stellen Sie sich vor, Sie haben Ihre Monatsanzeigezeichenfolgen in einem Array gespeichert und möchten mit getMonth () die richtige Zeichenfolge abrufen.
Natürlich ist es eine andere Frage , warum Arrays bei Null beginnen
quelle
Höchstwahrscheinlich, weil der Aufruf der C-Bibliothek, der aufgerufen wird, um den Wert zurückzugeben, Monate auf diese Weise zurückgibt.
(Und der Grund für dieses Design war höchstwahrscheinlich, dass der Bibliotheksaufruf zusammen mit dem Programm entworfen wurde, um das Datum tatsächlich zu drucken, wobei ein auf Null basierender Index direkt zum Drucken der Monatsnamen verwendet werden konnte.)
quelle
Wenn ein Element in einer Struktur mit 0 beginnt, sollten alle Elemente auch damit beginnen oder keines von ihnen. Ich habe dieses Verhalten auf meiner Website etwas spät entdeckt.
quelle