可能重复:(a >>> 0)有什么用?
我在查看
array.indexOf()
时,意识到IE7不支持该函数。我正在阅读MDC并查看他们如何将其原型化到不支持它的浏览器中。我正在阅读它,试图理解所有内容,但我不确定我是否完全理解了它。主要的困惑是位运算符,特别是>>>
。我不确定这个运算符有什么用。下面是他们使用的方式。有人能解释一下它的用处以及为什么不能只使用if (t.length === 0)
吗? var t = Object(this);
var len = t.length >>> 0;
if (len === 0)
return -1;
Array.prototype
的方法是有意通用的,这意味着它们可以用于类似数组的对象。此外,Mozilla实现这些数组方法,尽可能地模仿了ECMA-262规范的行为,并且>>>
运算符是模拟ToUint32
内部操作的最短方式,所有这些方法都在内部使用... - Christian C. Salvadó