3

今日、問題をデバッグしようとしてきましたが、最終的に何が問題なのかを突き止めました。何らかの理由で、数値の先頭にゼロがある場合、JavaScript は非常に奇妙なことを行います。

例:

alert(132);
alert(0132);

var test = 0132;
alert(test);

JSFiddle: http://jsfiddle.net/U8sFu/3/

最初のポップアップには「132」、2 番目には「90」、3 番目には「90」と表示されます。

私の質問は、なぜ 0132 という数字が 90 という数字になるのですか? これは私にとって本当に不可解です!

4

1 に答える 1

6

先頭に 0 がある数値は、基数 8の 8進リテラルとして解析されます。

于 2013-04-01T18:02:08.003 に答える