>>、<<、|的含义和 & 在 JavaScript [重复]
Posted
技术标签:
【中文标题】>>、<<、|的含义和 & 在 JavaScript [重复]【英文标题】:Meaning of >>, <<, | and & in JavaScript [duplicate] 【发布时间】:2011-05-31 07:10:28 【问题描述】:我正在使用 base64 编码脚本,但它在 JSLint 中引发了很多警告。
谁能告诉我这些符号在 javascript 中的含义是什么?
>>
,<<
,|
,&
下面是带有这些符号的代码示例:
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】:当我声明 c
和 utftext
变量时,JSLint 可以很好地验证它。我没有看到它抱怨任何这些运营商。
【讨论】:
如果你开启了“好部件”,则不会。【参考方案2】:这个问题一直被问到,但有些人很难找到合适的词来搜索。
那些是bitwise operators。
【讨论】:
【参考方案3】:这些符号指的是某些bitwise operations。
>> Right shift
<< Left shift
| Bitwise OR
& Bitwise AND
阅读链接的 Wikipedia 页面,了解有关他们所做工作的更多信息。
请参阅 here 了解 JSLint 为何会对这些操作发出警告。它在很大程度上与效率有关(即,JavaScript 在内部使用浮点数,并且使用位运算符转换为整数并返回是低效的)。
右移和左移可以分别用除以2代替。
【讨论】:
以上是关于>>、<<、|的含义和 & 在 JavaScript [重复]的主要内容,如果未能解决你的问题,请参考以下文章