Le comportement octal intrigant de JavaScript : le comprendre et le contourner
Lorsque vous travaillez avec JavaScript, vous pouvez rencontrer un comportement particulier qui peut prêter à confusion. La fonction parseInt, lorsqu'elle est présentée avec des nombres préfixés par un zéro non significatif, les interprète comme des entiers octaux. Cela signifie que pour les valeurs supérieures à 7 dans une représentation octale, la fonction renvoie zéro.
Par exemple :
parseInt('01'); // equals 1 parseInt('02'); // equals 2 parseInt('03'); // equals 3 parseInt('04'); // equals 4 parseInt('05'); // equals 5 parseInt('06'); // equals 6 parseInt('07'); // equals 7 parseInt('08'); // equals 0 !! parseInt('09'); // equals 0 !!
Pour résoudre ce problème et garantir que parseInt se comporte comme prévu, il existe quelques solutions de contournement :
Spécifiez la base (Radix) :
Vous pouvez spécifier explicitement la base ou la base lors de l'utilisation de parseInt. Par exemple, pour interpréter un nombre comme un entier décimal, vous pouvez utiliser la syntaxe suivante :
parseInt('08', 10); // returns 8
Utilisez l'objet Nombre :
Alternativement, vous pouvez utiliser l'objet Number au lieu de parseInt. L'objet Number interprète automatiquement les nombres sans zéro non significatif comme des entiers décimaux :
Number('08'); // returns 8
En comprenant et en utilisant ces solutions de contournement, vous pouvez efficacement surmonter le comportement octal de JavaScript et garantir une analyse précise des entiers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!