回答
這是未經簽名的右移運算符。在這種情況下(與0
一起使用時)它確保arr.length
是一個整數,或者更確切地說,其值爲arr.length
,爲嚴格無符號的32位整數值。 (這意味着它永遠不會NaN
,從不爲負,且從未有一個小數部分。)
例子:
'1' >>> 0: 1
1 >>> 0: 1
'' >>> 0: 0
undefined >>> 0: 0
null >>> 0: 0
1.0∙∙∙01 >>> 0: 1
對比:
Number('1') : 1
Number(1) : 1
Number('') : 0
Number(undefined): NaN
Number(null) : 0
Number(1.0∙∙∙01) : 1.0∙∙∙01
這只是爲了確保正確的長度正在使用。
確保.length
是一個32位整數。
在大多數實現中,陣列索引被限制爲32位的範圍(至少Array.prototype
方法以及.length
魔行爲工作時)。
您錯過了......爲什麼我要使用它?唯一可能考慮的情況是* length *可能被設置爲非整數值。但是在符合ECMA-262的實現中,[不會發生](http://es5.github.com/#x15.4.5.1)。長度**總是**是一個非負整數。所以答案是:**從不**。 – RobG 2012-02-21 00:28:12
我不會說「從不」。如果您正在爲標準'Array.prototype'方法編寫一個墊片,並試圖使其符合ECMA-262標準(或儘可能接近),則會使用它,因爲標準方法執行* ToUint32(lenVal)*轉換。此外,該規範允許將'Array.prototype'方法應用於「類似數組」的對象。這將爲墊片強制執行正確的「.length」值提供動力。 – 2012-02-21 00:34:31
如果是這樣的話,那麼-ve值需要首先處理,因爲>>>對這些值有很大的影響。它將長度的大小限制爲比內置* array.length *少的長度,所以這是確保或將值轉換爲非負整數的糟糕方法。 – RobG 2012-02-21 01:16:49
- 1. ShowToolPane2Wrapper - >這是幹什麼用的?
- 2. 爲什麼-1 >> 1是-1?而1 >> 1是0!
- 3. 這是幹什麼的:「input >> 4&0x0F」?
- 4. 「somevar >> 0」是什麼意思?
- 5. x >>> 0做什麼?
- 6. 爲什麼Python 2.7中的`()>''> []> {}> 0> None`?
- 7. 這是什麼意思? >> ActionController :: InvalidAuthenticityToken
- 8. 什麼是<script type =「text/javascript」><!--mce:0--></script>?
- 9. 這是什麼意思(計算中的<< and > >>)?
- 10. >> =是什麼意思?
- 11. 爲什麼〜0 >> 1不移位?
- 12. 這個JavaScript運算符是什麼意思? >>>
- 13. 「ptr = ptr - > next」這是什麼「 - >」是什麼意思? (C++)
- 14. 這條線的含義是什麼「ArrayAdapter <String> adapter =」
- 15. 這是什麼 - >〜T()呢?
- 16. PHP:什麼是「 - >」和「=>」?
- 17. 這是什麼意思?公式一=> A - > [A] - >布爾
- 18. 什麼是C++ >>>操作
- 19. 爲什麼(0> 1 + 0> 9)返回False,但((0> 1)+(0> 9))返回0?
- 20. 什麼是(int - > int) - >(int - > int)是什麼意思?
- 21. 什麼是SQL中的> 0?
- 22. 這是什麼意思「$ books = $ this-> model-> getBookList();」 $ this with two - > - >表示
- 23. 在Javascript中,'>>> 0'對變量有什麼影響?
- 24. 爲什麼realmin> eps(0)?
- 25. 這條線是幹什麼的?
- 26. X >> = N是做什麼的?
- 27. 爲什麼<$>和<*>的輸入順序是>> =?
- 28. CakePHP $ this-> request-> params ['pass'] [0]是什麼意思?
- 29. 什麼是「return list == NULL?0:list-> value + fun(list-> next)」呢?
- 30. Exacly(args.length> 0)是什麼意思?
另外我需要幫助標籤添加該運算符的名稱,因爲我不知道它的名字 – mithril333221 2012-02-20 23:48:13
上下文是國王...給我們一些。 – jondavidjohn 2012-02-20 23:49:37
我通常不喜歡在問題中編輯代碼,但我相當確定你的意思是「長度」而不是「長度」。 – 2012-02-20 23:49:40