Answers:
用parseInt传递基数始终是一个好习惯-
parseInt(string, radix)
对于小数-
parseInt(id.substring(id.length - 1), 10)
如果省略了radix参数,则JavaScript假定以下内容:
(参考)
Redundant radix parameter
radix
参数是数字值,而不是数字值的字符串表示形式,因此没有要指定的基数。
我没有正确回答这个问题,但是,我认为有必要弄清楚为什么我们应该指定基数。
在MDN文档中,我们可以阅读以下内容:
如果radix未定义或为0(或不存在),则JavaScript假定以下内容:
资料来源:MDN parseInt()
"-W065": true
在.jshintrc
文件中使用。
您也可以直接在parseInt行上方添加以下行:
// eslint-disable-next-line
这将禁用eslint检查下一行。如果只需要跳过一两行,请使用此选项。
只需将一个空字符串放在基数位置,因为parseInt()带有两个参数:
parseInt(string,radix);
字符串要解析的值。如果string参数不是字符串,则将其转换为字符串(使用ToString抽象操作)。字符串参数中的前导空格将被忽略。
基数2到36之间的整数,表示上述字符串的基数(数学数字系统中的基数)。为人类常用的十进制系统指定10。始终指定此参数,以消除读者的困惑并保证可预测的行为。当未指定基数时,不同的实现产生不同的结果,通常将值默认为10。
imageIndex = parseInt(id.substring(id.length-1))-1;
imageIndex = parseInt(id.substring(id.length - 1), '')-1;
只需在.eslintrc中添加自定义规则,该规则看起来像这样
"radix": "off"
,您将摆脱此eslint不必要的警告。这是为eslint短绒棉。