You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AnsonZnl, aclowner, liaoyinglong, wenyejie, rocky-191 and 30 moreCoderLeiShuo and xuyawenCoderLeiShuo and xuyawenCoderLeiShuo and xuyawenCoderLeiShuo and xuyawenCoderLeiShuo, A871747563 and xuyawen
Activity
xiangshuo1992 commentedon May 21, 2019
哦~~,原来是这样啊
之所以会报错,是因为在这里的
.
发生了歧义,它既可以理解为小数点,也可以理解为对方法的调用。因为这个点紧跟于一个数字之后,按照规范,解释器就把它判断为一个小数点。
所以我们可以这样修改下:
(10).toFixed(10)
10..toFixed(10)
10 .toFixed(10)
10.0.toFixed(10)
当然出现这个报错是因为前面这个数是整数,如果本来就是小数就不会出现这个报错。
myprelude commentedon Jun 13, 2019
原因是js解释器对
.
的解释发生了歧义导致。kokokele commentedon Jul 16, 2019
. 当成float了
Konata9 commentedon Aug 31, 2019
在我们的直觉上,
10.toFixed(10)
是把整数的 10 转为浮点数并且保留 10 位小数部分。但实际上会出错,是因为 JS 的解释器对
.
操作符产生了歧义。在 JS 中.
可以表示小数和从对象中取值。在这个例子中, 由于 10 是整数,所以在10.
默认是小数点,因此会报错。解决的办法有下面几种:
(10).toFixed(10)
个人喜欢这种,看起来舒服一点10..toFixed(10)
参考文章:
Javascript 的语法歧义之点“.”
xcLtw commentedon Nov 6, 2019
歧义之前没有注意到,会使用
()
包裹的形式并认为是进行了隐形转换或者说是定义运算优先级,歧义的说法更合适。而且不使用括号也会发生原生值10
到Number
对象10
的隐性转换,之前的想法不严谨blueRoach commentedon Jul 6, 2020
原因是 toFixed前面跟一个整数时,他会把10.toFixed()这个“.”误解为小数点
所以解决方法可以把10用变量保存起来
楼上大佬的方法也可以
10..toFixed(10)
10 .toFixed(10)
(10).toFixed(10)
10.0.toFixed(10)
smile-2008 commentedon Oct 21, 2020
github-cxtan commentedon Feb 24, 2022
哦~~,原来是这样啊
之所以会报错,是因为在这里的 . 发生了歧义,它既可以理解为小数点,也可以理解为对方法的调用。
因为这个点紧跟于一个数字之后,按照规范,解释器就把它判断为一个小数点。
所以我们可以这样修改下:
(10).toFixed(10)
10..toFixed(10)
10 .toFixed(10)
10.0.toFixed(10)
当然出现这个报错是因为前面这个数是整数,如果本来就是小数就不会出现这个报错。
xiaoqiangz commentedon May 31, 2022
原因是 toFixed前面跟一个整数时,他会把10.toFixed()这个“.”误解为小数点
所以解决方法可以把10用变量保存起来
(10).toFixed(10)
10..toFixed(10)
xiaoqiangz commentedon May 31, 2022
原因是 toFixed前面跟一个整数时,他会把10.toFixed()这个“.”误解为小数点
所以解决方法可以把10用变量保存起来
(10).toFixed(10)
10..toFixed(10)
xiaoqiangz commentedon May 31, 2022
原因是 toFixed前面跟一个整数时,他会把10.toFixed()这个“.”误解为小数点
所以解决方法可以把10用变量保存起来
(10).toFixed(10)
10..toFixed(10)