协助解决jslint错误

时间:2011-07-28 17:39:07

标签: javascript jquery jslint jshint

我通过jslint收到一些错误,我需要帮助:

  1. 糟糕的擒纵:

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

  2. 空块:

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

  3. 意外使用'|'

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

  4. 任何人都有任何想法我如何解决这些问题?

1 个答案:

答案 0 :(得分: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不一样?你能不能删除它?