Tut .toString(16) immer wieder Kleinbuchstaben?
Beim konvertieren einer dezimal-Zahl in eine Basis über 10 .toString(base)
scheint es, dass ich immer wieder die Kleinschreibung Zeichenfolge. Kann ich auf diese angewiesen? Einen Großbuchstaben string wäre richtig, aber würde die Konvertierung für meine Anwendung.
Extra Kredit für das verweisen auf den Teil der Spezifikation, die definiert, diese (ich schaute und konnte es nicht finden) und für jeden counter-Beispiele (Browser, zurück Großbuchstaben).
Beispiel:
(12648430).toString(16) //returns: "c0ffee". Not "C0FFEE"
- Sie können sich darauf verlassen, aber ich glaube nicht, dass Sie sollten. Wenn der Fall wirklich so wichtig ist, fügen Sie einfach
toLowerCase
gegebenenfalls und aufhören, sich sorgen darüber. - Es wäre eine Schande, zu senden, ein update für alle Kunden mit diesem code bereitgestellt, wenn es nicht notwendig ist. Da der vorhandene Browser sind kompatibel und zukünftigen Browsern kompatibel sein muss, lasse ich den alten code, wie es ist.
- Bis zu Ihnen, aber wenn eines Tages dein code bricht und Ihre einzige Ausrede wird sein "jemandem auf SO erzählte mir mein code ist in Ordnung" - ist das eine Schande!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wahrscheinlich. Es ist definiert in der 5. Auflage Angabe, §15.7.4.2:
(meine Betonung)
Aber, 3. Auflage spec (ab 1999) nicht sagen, dass es nur sagte:
...es ist also möglich, die Sie finden können-Motoren in freier Wildbahn, die mit Großbuchstaben (oder etwas ganz anderes). Ich würde sagen, das ist ziemlich unwahrscheinlich, Sie hat nicht in der Regel fügen Sie Dinge wie, dass zu der Skillung, wenn es erhebliche bekannt Implementierungen, die nicht über dieses Verhalten. Ich bekomme Kleinschreibung auf aktuellen Versionen von Chrome, Firefox und Opera, und IE8 und sogar IE6. Also ich würde sagen, es ist wahrscheinlich ziemlich konsequent.
.toLowerCase()
für mich. Ich werde auch testen, in IE5 irgendwann nach einem update.(12648430).toString(16) immer wieder: "c0ffee". Nicht "C0FFEE", nachdem Sie es mit einigen Browsern, fand ich die Bestätigung:
"für hexadezimale zahlen (Basis 16) a bis f verwendet werden".
Finden Sie unter Referenz: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString .
forEach
zum Beispiel war einfach falsch für eine lange Zeit). Die definitive - Geschichte ist die offizielle Spezifikation von ECMA (die Brendan führt die Entwicklung). Aber der wichtigste Punkt ist, dass einfach duplizieren einer vorherigen Antwort ist nicht hilfreich.