Ich habe gerade festgestellt, dass Math.random().toString(36)
in Chrome 49 eine längere Zeichenfolge zurückgibt als Knoten 5.9 oder Safari 9.1.
Hinweis: Hier geht es nicht um Math.random
. Jede Zahl, die in eine Zeichenfolge mit einer anderen Basis als 10 konvertiert wird, gibt eine viel größere Zeichenfolge in Chrome 49 als Safari zurück:
Was ist los?!
Ich bin überzeugt, nachdem wir das ein wenig getestet haben, dass es ein Bug in Chrom für bestimmte Basen ist, scheinen die meisten in Ordnung zu sein, während ungewöhnliche Basen manchmal einfach lächerlich lang sind. Hier ist ein kurzer JSBin mit etwas Protokollierung verschiedener Länge:
JSBin - (versuche es in verschiedenen Browsern)
%Vor%Weitere Informationen zu ECMA 5.1 finden Sie hier:
.... Der genaue Algorithmus ist implementierungsabhängig, wenn das Radix nicht 10 ist, der Algorithmus sollte jedoch eine Generalisierung des in 9.8.1 spezifizierten Algorithmus sein.
ECMA 5.1 Spec - Link zum relevanten Teil
Ich weiß wirklich nicht, was sonst noch hier vor sich geht. Aber das sieht mehr und mehr nach einem algorithmischen Problem mit der spezifischen Implementierung von Chrome aus.
* verzeihe meine Variablen, es ist nur für die Anmeldung in JSBin.
Tags und Links javascript google-chrome