0

助けが必要な jslint 経由でいくつかのエラーが発生しています。

  1. 悪い脱進機:

    replace('/[^a-zA-Z0-9ñÑáÁéÉíÍóÓúÚüÜ¡¿\s+{0}]/g', '')

  2. 空のブロック:

    $('#myElement').keydown(function (event) { if (allowAlphaNumeric(event)) { } });

  3. '|' の予期しない使用

    return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);

これらを解決する方法を知っている人はいますか?

4

1 に答える 1

1

悪い脱進機:

replace正規表現リテラルを含む文字列を指定しています。ほとんどの場合、それを正規表現リテラルにしたいだけです。

replace(/[^a-zA-Z0-9ñÑáÁéÉíÍóÓúÚüÜ¡¿\s+{0}]/g, '')

replace問題の がである場合、それは確かに当てはまりString#replaceます。それが何か他のものであり(それを知っておくと便利だったでしょう)、本当にそれを文字列にしたい場合は、文字列内のバックスラッシュを必ず2倍にしてください-\s有効な文字列エスケープではなく、正規表現構造です. したがって\\s、文字列\s. しかし、繰り返しになりますが、リテラルが必要だと思います(そうしない場合)。

空のブロック:

ブロックに何かを入れます:

$('#myElement').keydown(function (event) { if (allowAlphaNumeric(event)) { } });
//                                                  here -----------------^

'|' の予期しない使用

return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);

これは、構文的には問題ないように見えます (論理的には、以下の注を参照してください)。これは、本当にビット単位の演算子が必要なためです。あなたの意図を理解していないjslintだけです。

しかし、ええと、x | 0同じではありませんxか? 削除できませんでしたか?

于 2011-07-28T17:45:40.257 に答える