2

我将跨浏览器拆分到我的代码中并通过 jsHint 运行它并进入Unexpected use of '>>>'

limit = limit === undef ?
    -1 >>> 0 : // Math.pow(2, 32) - 1
    limit >>> 0; // ToUint32(limit)

当我把它放在一行中并且将表达式放入括号中时也是如此

这是错误吗?我该如何解决?

4

1 回答 1

4

您可以通过关闭“使用位运算符时”选项(此处列出的顶部选项)来禁用错误(嗯,他们真的应该 称之为警告)到); 如果你这样做,上面的代码不会产生错误。

以下是有关使用原始 JSLint 工具中的位运算符的警告的基本原理(JSHint 是 JSLint 的更友好版本,具有更多选项来关闭纯样式的“错误”):

位运算符

JavaScript 没有整数类型,但它有位运算符。位运算符将其操作数从浮点数转换为整数并返回,因此它们的效率不如 C 或其他语言。它们在浏览器应用程序中很少有用。与逻辑运算符的相似性可以掩盖一些编程错误。该bitwise选项允许使用这些运算符:<< >> >>> ~ & |.

于 2012-06-24T11:23:15.790 回答