我正在使用 base64 编码脚本,但它在 JSLint 中抛出了很多警告。
谁能告诉我 JavaScript 中这些符号的含义是什么?
>>
, <<
, |
, &
以下是包含这些符号的代码示例:
if ((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
}
我想重写此代码,以便 JSLint 对其进行验证。
最佳答案
这些符号指的是某些bitwise operations .
>> Right shift
<< Left shift
| Bitwise OR
& Bitwise AND
阅读链接的维基百科页面,了解有关他们的工作的更多信息。
参见here为什么 JSLint 对这些操作发出警告。它很大程度上与效率有关(即,JavaScript 在内部使用 float ,并且使用按位运算符转换为整数并返回整数的效率很低)。
右移和左移可以分别用除2和乘2来代替。
关于javascript ->>、<<、| 的含义JavaScript 中的和 &,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4541455/