我正在使用base64编码脚本,但它在JSLint中抛出了很多警告。
有人可以告诉我这些符号在JavaScript中的含义是什么吗?
>>
,<<
,|
,&
以下是带有这些符号的代码示例:
if ((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
}
我想重写一下,以便JSLint验证它。
答案 0 :(得分:5)
这些符号指的是某些bitwise operations。
>> Right shift
<< Left shift
| Bitwise OR
& Bitwise AND
阅读链接的维基百科页面,了解有关他们的工作的更多信息。
请参阅here,了解JSLint对这些操作发出警告的原因。它主要与效率有关(即,JavaScript在内部使用浮点数,并且使用按位运算符转换为整数和返回效率低)。
右移和左移可以分别用除以2替换。
答案 1 :(得分:0)
这会一直被问到,但有些人很难找到合适的词来搜索。
答案 2 :(得分:0)
当我声明c
和utftext
变量时,JSLint会对我进行验证。我没有看到它抱怨任何这些运营商。