JSLint报Unexpected '.'错误,.toFixed前的点是否为代码问题?
JSLint 报.toFixed前意外字符错误的原因说明
你的代码本身没有语法错误,完全符合JavaScript规范,实际运行正常,这个报错是旧版JSLint自身的规则缺陷导致的误判。
误报原因
旧版JSLint的语法校验逻辑存在限制,不允许在闭合括号后直接跟.字符调用方法,因此会把你代码里括号包裹的计算表达式后紧跟的.toFixed判定为非法写法。
可选解决方案
- 优先调整代码写法,把括号内的计算结果先赋值给临时变量,再调用
toFixed,代码可读性也更高:
const calculated = Math.round(subTotal * 100) / 100; subTotal = calculated.toFixed(2);
- 升级到最新版JSLint,该误报问题在后续版本中已经被修复
- 如果不想修改代码也不想升级,可以调整JSLint校验配置,放开对应表达式校验的限制即可。
内容的提问来源于stack exchange,提问作者LordLiverpool
相关产品推荐
相关产品推荐

