>>,<<,|的含义 和&在JavaScript中

Cou*_*uto 2 javascript

我正在使用base64编码脚本,但它在JSLint中抛出了很多警告.

有人能告诉我这些符号在JavaScript中的含义是什么吗?

>>,<<,|,&

以下是包含这些符号的代码示例:

if ((c > 127) && (c < 2048)) {
    utftext += String.fromCharCode((c >> 6) | 192);
    utftext += String.fromCharCode((c & 63) | 128);
}
Run Code Online (Sandbox Code Playgroud)

我想重写它,以便它由JSLint验证.

Pla*_*ure 5

这些符号指的是某些按位运算.

>> Right shift
<< Left shift
|  Bitwise OR
&  Bitwise AND
Run Code Online (Sandbox Code Playgroud)

阅读链接的维基百科页面,了解有关他们的工作的更多信息.

请参阅此处了解JSLint对这些操作发出警告的原因.它主要与效率有关(即,JavaScript在内部使用浮点数,并且使用按位运算符转换为整数和返回效率低).

右移和左移可分别用除以2乘以替换.