628

この JavaScript コードで JSLint を実行したところ、次のように表示されました。

行 32 文字 30 の問題: radix パラメータがありません。

これは問題のコードです:

imageIndex = parseInt(id.substring(id.length - 1))-1;

ここで何が問題なのですか?

4

11 に答える 11

1112

parseInt で基数を渡すことは常に良い習慣です -

parseInt(string, radix)

10 進数の場合 -

parseInt(id.substring(id.length - 1), 10)

基数パラメーターが省略されている場合、JavaScript は次のように想定します。

  • 文字列が「0x」で始まる場合、基数は 16 (16 進数)
  • 文字列が「0」で始まる場合、基数は 8 (8 進数) です。この機能は非推奨です
  • 文字列が他の値で始まる場合、基数は 10 (10 進数) です。

参考

于 2011-10-19T09:06:20.863 に答える
33

そのテストをスキップしたい場合は、このルールをオフにすることができます。

入れる:

radix: false

ファイルの " rules" プロパティの下。tslint.json

この例外を理解していない場合は、これを行うことはお勧めしません。

于 2016-08-29T16:15:03.350 に答える
22

JS ファイルの上に以下を追加すると、基数の警告を抑制するように JSHint に指示されます。

/*jshint -W065 */

参照: http://jshint.com/docs/#options

于 2013-05-01T21:06:41.917 に答える