JavaScript の複雑な ParsInt 8 進数の動作を回避する
JavaScript の parseInt 関数は、特に先行ゼロを処理する場合に予期しない動作をすることがあります。具体的には、先頭にゼロがある数値が 8 進整数として誤って解釈され、誤った出力が発生します。この問題は、先頭のゼロが 8 進数を表すという parseInt 関数の仮定に起因します。 8 進数には 8 と 9 が含まれないため、これらの数字で始まる値はゼロと誤って解釈されます。
8 進数の障害を克服する
幸いなことに、この特殊な問題を回避するための戦略がいくつかあります。動作:
1.明示的な基数指定:
基数または基数を明示的に定義することにより、parseInt が入力を 10 進数として解釈することを保証できます。例:
parseInt('08', 10); // 8
2. Number メソッド:
もう 1 つのオプションは、入力を 10 進数として自動的に解釈する Number メソッドを使用することです:
Number('08'); // 8
注:
ES5 標準では、この不可解な 8 進数の動作を排除する修正が導入されました。ただし、この変更はブラウザーに依存します。詳細については、Mozilla のドキュメントを参照してください。
以上が「parseInt」が先頭にゼロを伴う予期しない結果を与える場合があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。