gpt4 book ai didi

javascript - 符号>>在javascript中意味着什么

转载 作者:行者123 更新时间:2023-11-30 07:16:38 24 4
gpt4 key购买 nike

>>> 符号是什么意思?在 this page ,有一行看起来像这样:

var i = 0, l = this.length >> 0, curr;

最佳答案

它是按位移动。

让我们以数字 7 为例,它的二进制形式是 0b00000111

7 << 1将它向左移动一位,给你 0b00001110 , 即 14

同样,你可以向右移动:7 >> 1将切断最后一点,给你 0b00000011这是 3。

[编辑]
在 JavaScript 中,数字存储为 float 。但是,当移位时您需要整数值,因此对 JavaScript 值使用位移会将其从 float 转换为整数。

在 JavaScript 中,移动 0 位会将数字向下舍入*(整数舍入) (更好的措辞:它将值转换为整数)

> a = 7.5;
7.5
> a >> 0
7

*: 除非数字是负数。

旁注:由于 JavaScript 的整数是 32 位的,因此除非您绝对确定不会使用大数字,否则请避免使用位移位。

[编辑 2]
this.length >> 0还将制作一个数字的副本,而不是引用它。虽然我不知道为什么有人会想要那个。

关于javascript - 符号>>在javascript中意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14030096/

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