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,那肯定是这种情况,我假设它是。如果它是其他东西(知道这一点会很方便)并且您真的希望它是一个字符串,那么只需确保将字符串中的任何反斜杠加倍 -\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 回答