【问题标题】:assistance in resolving jslint errors帮助解决 jslint 错误
【发布时间】:2023-04-08 11:10:01
【问题描述】:

我通过 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);

有人知道我如何解决这些问题吗?

【问题讨论】:

    标签: javascript jquery jslint jshint


    【解决方案1】:

    擒纵机构不良:

    你给replace 一个包含正则表达式文字的字符串。您几乎肯定只想将其设为正则表达式文字:

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

    如果有问题的replaceString#replace,那肯定是这种情况,我假设是这样。如果它是其他东西(知道这一点会很方便)并且您真的希望它是一个字符串,那么只需确保将字符串中的任何反斜杠加倍 - \s 不是有效的字符串转义,它是正则表达式构造。所以你需要\\s,这样字符串最终会包含\,后跟s。但同样,我认为你想要文字(你不会这样做)。

    空块:

    在块中放一些东西:

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

    意外使用了“|”

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

    这对我来说看起来不错语法(逻辑上,请参阅下面的注释),因为您确实需要位运算符。只是 jslint 不了解您的意图。

    但是,嗯,x | 0x 不一样吗?你不能把它删掉吗?

    【讨论】:

      猜你喜欢
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多