我正在开发一个项目,我需要处理javacsript框架的工作。我们有一个读取它们的解析器,但是带有...的行上的错误,例如
1..toPrecision()
或
24..map(function(t){return 7..map(function(a){return e[a][t]})
它似乎不理解“..”,我也不理解。为什么这是有效的JavaScript?如何映射单个数字?最终有人会修复解析器,但我正在寻找一个临时修复,我可以编辑缩小的.js文件。有没有其他方法可以编写类似24..map()的内容?
答案 0 :(得分:10)
这是一种有趣的情况。数字可以在小数点后面有一个值,对吗?
console.log(1.2345); // for example

嗯,也可以用小数点写一个没有任何数字的数字。
console.log(5.);

所以第一个点是小数点。第二个是属性访问者。
console.log(5. .toString());
// ^ decimal point ^ property accessor

The specification将十进制文字定义为:
DecimalIntegerLiteral 。 DecimalDigits opt ExponentPart opt
其中opt表示可选。
答案 1 :(得分:4)
第一个.
是小数点分隔符。 1.
是一个数字。
第二个.
是对象属性访问器。 someNumber.toPrecision
是一个函数。
编写它的另一种方法是用更重要的数字写出数字:
1.0.toPrecision()