时间:2010-11-11 03:29:55

标签: javascript

  

可能重复:
  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; 

1 个答案:

答案 0 :(得分:7)

它允许在类似数组的对象上调用indexOf,这些对象可能具有奇怪的length属性。

例如:

var fakeArray = { length: -3, '0': true, '1': false, '2': null };