Math.ceil(00.1); Uncaught SyntaxError: missing ) after argument list
Math.ceil(00.1); Uncaught SyntaxError: missing ) after argument list
我在 chrome 控制台上调试时发现了这个错误。基本上,
Math.ceil(0.1); // Works
Math.ceil(00.1); // Doesn't work
有什么原因/想法吗?
谢谢。
十进制文字只能以单个 0
开头。从 the spec 开始,NumericLiteral 是 DecimalLiteral、BinaryIntegerLiteral、 OctalIntegerLiteral,或HexIntegerLiteral。你的是 DecimalLiteral 因为它包含 .
。那只能有一个前导零。
链接规则如下:
NumericLiteral::
DecimalLiteral
BinaryIntegerLiteral
OctalIntegerLiteral
HexIntegerLiteral
你的是 DecimalLiteral 因为 .
,它是:
DecimalLiteral::
DecimalIntegerLiteral . DecimalDigitsopt ExponentPartopt
. DecimalDigitsopt ExponentPartopt
DecimalIntegerLiteral ExponentPartopt
...其中
DecimalIntegerLiteral::
0
NonZeroDigit DecimalDigitsopt
和
DecimalDigits::
DecimalDigit
DecimalDigits DecimalDigit
和
DecimalDigit:: one of
0 1 2 3 4 5 6 7 8 9
我在 chrome 控制台上调试时发现了这个错误。基本上,
Math.ceil(0.1); // Works
Math.ceil(00.1); // Doesn't work
有什么原因/想法吗?
谢谢。
十进制文字只能以单个 0
开头。从 the spec 开始,NumericLiteral 是 DecimalLiteral、BinaryIntegerLiteral、 OctalIntegerLiteral,或HexIntegerLiteral。你的是 DecimalLiteral 因为它包含 .
。那只能有一个前导零。
链接规则如下:
NumericLiteral::
DecimalLiteral
BinaryIntegerLiteral
OctalIntegerLiteral
HexIntegerLiteral
你的是 DecimalLiteral 因为 .
,它是:
DecimalLiteral::
DecimalIntegerLiteral . DecimalDigitsopt ExponentPartopt
. DecimalDigitsopt ExponentPartopt
DecimalIntegerLiteral ExponentPartopt
...其中
DecimalIntegerLiteral::
0
NonZeroDigit DecimalDigitsopt
和
DecimalDigits::
DecimalDigit
DecimalDigits DecimalDigit
和
DecimalDigit:: one of
0 1 2 3 4 5 6 7 8 9