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

时间:2010-12-27 20:07:50

标签: javascript

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

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

>><<|&

以下是带有这些符号的代码示例:

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

我想重写一下,以便JSLint验证它。

3 个答案:

答案 0 :(得分:5)

这些符号指的是某些bitwise operations

>> Right shift
<< Left shift
|  Bitwise OR
&  Bitwise AND

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

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

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

答案 1 :(得分:0)

这会一直被问到,但有些人很难找到合适的词来搜索。

那些是bitwise operators

答案 2 :(得分:0)

当我声明cutftext变量时,JSLint会对我进行验证。我没有看到它抱怨任何这些运营商。