>>"运算符是什么?-6ren"> >>"运算符是什么?-这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: javascript >>> operator? JavaScript triple greater than 在这-6ren">
gpt4 book ai didi

javascript - JS中的 ">>>"运算符是什么?

转载 作者:行者123 更新时间:2023-12-03 00:01:31 25 4
gpt4 key购买 nike

Possible Duplicate:
javascript >>> operator?
JavaScript triple greater than

在这样的代码行中找到了这个运算符:

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

这个运算符是什么意思?

完整代码如下。就是JS的代码some方法:

if (!Array.prototype.some) {
Array.prototype.some = function(fun /*, thisp */) {
"use strict";

if (this == null) throw new TypeError();

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

if (typeof fun != "function") throw new TypeError();

var thisp = arguments[1];

for (var i = 0; i < len; i++) {
if (i in t && fun.call(thisp, t[i], i, t))
return true;
}

return false;
};
}

最佳答案

>>> 是右移没有符号扩展

如果对负数使用 >> 运算符,结果也将为负数,因为原始符号位被复制到所有新位中。使用 >>> 将复制零。

在这种特殊情况下,它只是用作将 length 字段限制为无符号 31 位整数的方法,或者换句话说,将 Javascript 的 native IEEE754 “ double ”数字“转换”为整数。

关于javascript - JS中的 ">>>"运算符是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10382122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com