我在这个JavaScript代码上运行JSLint,它说:
第32行字符30的问题:缺少基数参数。
这是问题中的代码:
imageIndex = parseInt(id.substring(id.length - 1))-1;
这里出了什么问题?
我在这个JavaScript代码上运行JSLint,它说:
第32行字符30的问题:缺少基数参数。
这是问题中的代码:
imageIndex = parseInt(id.substring(id.length - 1))-1;
这里出了什么问题?
当前回答
为了避免这个警告,不要使用:
parseInt("999", 10);
你可以用:
Number("999");
注意,parseInt和Number有不同的行为,但在某些情况下,一个可以替换另一个。
其他回答
如果您希望跳过该测试,可以关闭此规则。
插入:
radix: false
在tslint中的“rules”属性下。json文件。
如果您不理解这个异常,不建议这样做。
用parseInt -传递基数始终是一个很好的做法
parseInt(string, radix)
对于十进制-
parseInt(id.substring(id.length - 1), 10)
如果省略了radix参数,JavaScript假设如下:
如果字符串以“0x”开头,则基数为16(十六进制) 如果字符串以“0”开头,则基数为8(八进制)。此特性已弃用 如果字符串以任何其他值开头,则基数为10(十进制)
(参考)
为了避免这个警告,不要使用:
parseInt("999", 10);
你可以用:
Number("999");
注意,parseInt和Number有不同的行为,但在某些情况下,一个可以替换另一个。
只需在.eslintrc中添加自定义规则,就像这样 “基数”:“关闭” 这样你就不用担心这个不必要的警告了。 这是为eslint linter。
我只用+foo来转换字符串。
请记住,这对可读性不是很好(肮脏的修复)。
console.log( +'1' )
// 1 (int)