【发布时间】:2015-06-27 02:07:03
【问题描述】:
>>>= 是 Javascript 中的无符号右移运算符:
Reference
In this code 看到作者用的是这段代码:
if (typeof offset !== 'number' || offset % 1 !== 0)
throw TypeError("Illegal offset: "+offset+" (not an integer)");
offset >>>= 0;
if (offset < 0 || offset + 0 > this.buffer.byteLength)
throw RangeError("Illegal offset: 0 <= "+offset+" (+"+0+") <= "+this.buffer.byteLength);
我想知道使用 >>>= 的意义何在,以及我是否可以完全跳过它。代码似乎只有在偏移量为负的情况下才有效,而且我不太清楚该操作的目的。
【问题讨论】:
-
可能不是重复的,但它包含部分答案:">>> 0 是唯一的,因为它是将任何类型转换为正整数的唯一运算符:" - 但为什么转换它然后检查它是否为负?我会像你说的那样删除那条线。
标签: javascript