„10“ in Javascript?
" /> "10" in Javascript?
" />
Problem beim Vergleich von Javascript-Zeichenfolgen und Ganzzahlen: Warum „2“ > Obwohl man annehmen könnte, dass numerische Zeichenfolgen als Ganzzahlen behandelt werden, ist dies nicht immer der Fall, was zu unerwarteten Ergebnissen führt.
Bedenken Sie Folgendes Folgender verwirrender Code:
Zum Erstaunen vieler wird dieser Code als wahr ausgewertet. Warum sollte „2“ größer als „10“ sein?
console.log("2" > "10");
Nach dem Login kopieren
Das zugrunde liegende Problem liegt in der inhärenten Eigenschaft von Javascript Behandlung von Zeichenfolgen und Ganzzahlen führt Javascript einen lexikografischen Vergleich basierend auf ihren Unicode-Codepunkten durch „2“ (50) ist kleiner als der Codepunkt für „10“ (56), was dazu führt, dass „2“ in einem Zeichenfolgenvergleich als „kleiner als“ „10“ betrachtet wird.
Um dieses Dilemma zu lösen und Um numerische Werte genau als Ganzzahlen vergleichen zu können, ist es wichtig, die Zeichenfolge manuell in eine Ganzzahl zu analysieren. Dies kann mit der Funktion parseInt erreicht werden, die eine Zeichenfolge und eine Basisbasis als verwendet Argumente.
Zum Beispiel, um die Zeichenfolge „2“ in eine Ganzzahl umzuwandeln und einen aussagekräftigen Vergleich mit „10“ durchzuführen:
Dieser Code wird korrekt als falsch ausgewertet, da „2 " ist in der Tat kleiner als "10", wenn beide als Ganzzahlen behandelt werden.
alert(parseInt("2", 10) > parseInt("10", 10));
Nach dem Login kopieren
Durch sorgfältiges String-Parsing kann man die Fallstricke von Javascript vermeiden Verwirren Sie das Verhalten beim Vergleich von Zeichenfolgen und Ganzzahlen und sorgen Sie für zuverlässige numerische Vergleiche.
Das obige ist der detaillierte Inhalt vonWarum bedeutet „2' > „10' in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!