>>、<<、|的含义和 & 在 JavaScript [重复]

Posted

技术标签:

【中文标题】>>、<<、|的含义和 & 在 JavaScript [重复]【英文标题】:Meaning of >>, <<, | and & in JavaScript [duplicate] 【发布时间】:2011-05-31 07:10:28 【问题描述】:

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

谁能告诉我这些符号在 javascript 中的含义是什么?

&gt;&gt;,&lt;&lt;,|,&amp;

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

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

我想重写它,以便它得到 JSLint 的验证。

【问题讨论】:

好的参考帮助developer.mozilla.org/en/JavaScript/Reference/Operators 【参考方案1】:

当我声明 cutftext 变量时,JSLint 可以很好地验证它。我没有看到它抱怨任何这些运营商。

【讨论】:

如果你开启了“好部件”,则不会。【参考方案2】:

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

那些是bitwise operators。

【讨论】:

【参考方案3】:

这些符号指的是某些bitwise operations。

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

阅读链接的 Wikipedia 页面,了解有关他们所做工作的更多信息。

请参阅 here 了解 JSLint 为何会对这些操作发出警告。它在很大程度上与效率有关(即,JavaScript 在内部使用浮点数,并且使用位运算符转换为整数并返回是低效的)。

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

【讨论】:

以上是关于>>、<<、|的含义和 & 在 JavaScript [重复]的主要内容,如果未能解决你的问题,请参考以下文章

HTML部分标签的含义

<??> 符号在 C#.NET 中的含义是啥? [复制]

使用 KchacheGrind 分析的 cProfile 输出中 <cycle 5> 函数的含义是啥?

[if lt IE 9]等符号的含义

'&'和'!'的含义是什么?在属性名称之前?

关于C++中vector< vector<int> >的含义.