【问题标题】:In Javascript, what is the effect of '>>> 0' on a variable? [duplicate]在Javascript中,'>>> 0'对变量有什么影响? [复制]
【发布时间】:2015-08-11 18:57:53
【问题描述】:

我正在阅读developer.mozilla.org 上的Array.prototype.some 的实现

它包含这段有趣的代码:

var t = Object(this);
var len = t.length >>> 0;

for (var i = 0; i < len; i++) {

为什么它调用len = t.length &gt;&gt;&gt; 0 而不是len = t.length

&gt;&gt;&gt; 0 有什么不同?

【问题讨论】:

标签: javascript


【解决方案1】:

执行 0 位的逻辑(无符号)右移,相当于无操作。但是,在右移之前,它必须将 x 转换为无符号的 32 位整数。因此,x >>> 0的整体效果是将x转换为32位无符号整数。

【讨论】:

  • +1。直接解决 OP 的为什么不使用 t.length 的问题:这是确保 len 最终为整数的好方法,无论对象的 length 属性中存储什么值(如果有)。
猜你喜欢
  • 2018-10-25
  • 2015-02-28
  • 2014-05-05
  • 2021-07-22
  • 1970-01-01
  • 1970-01-01
  • 2014-12-05
  • 2011-07-06
  • 1970-01-01
相关资源
最近更新 更多