1

alert(010)、結果は 8 です。なぜですか? 私はecmascript 7.8.3数値リテラルを読みました。Numeric Literals Lexical によると、010 は無効な数値リテラルです。

4

2 に答える 2

4

厳密モードがオンになっている場合にのみそうです:

(function(){
"use strict";
010;
})();
SyntaxError: Octal literals are not allowed in strict mode.

そうしないと、下位互換性が失われます。

于 2012-04-23T15:52:53.017 に答える
0

0108 進数は810 進数です。無効であると表示された場合 (リンクはどこですか?)、変更されている可能性があります。または、「ECMAScript」などではない別のバージョンで実行していますか?

多くのプログラミング言語では0、数値リテラルの前に を付けると 8 進数になります。

于 2012-04-23T15:51:52.870 に答える