Ans*_*shu 1 javascript syntax numbers
可能重复:
为什么我不能使用单个点访问整数的属性?
我正在阅读一篇文章,并遇到了javascript toFixed方法的奇怪行为.我不明白最后一句话的原因.有人可以解释一下吗?
(42).toFixed(2);//"42.00" 好的
42.toFixed(2); // SyntaxError:标识符在数字文字后立即开始
42..toFixed(2);//"42.00" 这真的很奇怪
JavaScript中的数字基本上是正则表达式:
[+-]?[0-9]*(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?
Run Code Online (Sandbox Code Playgroud)
请注意,量词是贪婪的.这意味着当它看到:
42.toFixed(2);
Run Code Online (Sandbox Code Playgroud)
它读取42.数字然后立即面对toFixed并且不知道如何处理它.
在这种情况下42..toFixed(2),数字42.不是42..因为正则表达式只允许一个点.然后它看到.哪个只能是对成员的调用,即toFixed.一切正常.
就可读性而言,(42).toFixed(2)其意图要清楚得多.
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |