我刚看到这段代码:
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (elt /*, from*/) {
var len = this.length >>> 0; // 3rd line
var from = Number(arguments[1]) || 0;
from = (from < 0) ? Math.ceil(from) : Math.floor(from);
if (from < 0) from += len;
for (; from < len; from++) {
if (from in this && this[from] === elt) return from;
}
return -1;
};
}
Run Code Online (Sandbox Code Playgroud)
什么是>>>做3号线?
那是一个无符号的右移操作员.有趣的是,它是唯一在javascript中无符号的按位运算符.
让我们有一个实际的应用..假设你想要将数字除以4是8/4 = 2对!
如果使用按位运算可以做到这一点:那会更快吗?
现在在控制台中执行此操作..
20 >>> 2
Run Code Online (Sandbox Code Playgroud)
给出5
怎么样 ??
当我们将20转换为二进制时,我们得到10100
现在向右移2位,你将得到101,相当于5
干杯!
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |