可能重复:
What good does zero-fill bit-shifting by 0 do? (a >>> 0)
我在看array.indexOf()
,我知道IE7本身并不支持。我正在阅读MDC并看到their example of how to prototype it到不支持它的浏览器中。我正在阅读它,试图了解一切是如何运作的,但我不确定我是否100%理解它。混淆的主要原因是按位运算符,特别是>>>
。我不确定这个运算符对什么有用。以下是他们使用它的方式。任何人都可以确切地解释它有用的内容以及为什么不能只是if (t.length === 0)
?
var t = Object(this);
var len = t.length >>> 0;
if (len === 0)
return -1;
答案 0 :(得分:7)
它允许在类似数组的对象上调用indexOf
,这些对象可能具有奇怪的length
属性。
例如:
var fakeArray = { length: -3, '0': true, '1': false, '2': null };