js的in运算符

js的in是java的containKey,

然后js的数组其实也是map

所以最后导致的接口,obj in array这个操作,js是拿obj去跟数据的索引对比,如果有obj这个索引(key),那么就返回true,否则返回false。

 

如果需要判断数组元素是否存在,使用array.indexOf(obj)!=-1即可

### JavaScript 中的位运算符 #### 位与(`&`) 位与运算符会对两个操作数的每一位执行按位与操作。只有当两位都为 `1` 时,结果才为 `1`。 ```javascript let a = 5; // 0101 in binary let b = 3; // 0011 in binary console.log(a & b); // Output: 1 (0001 in binary)[^1] ``` #### 位或(`|`) 位或运算符会对两个操作数的每一位执行按位或操作。只要有一位为 `1`,结果就为 `1`。 ```javascript let c = 5; // 0101 in binary let d = 3; // 0011 in binary console.log(c | d); // Output: 7 (0111 in binary)[^1] ``` #### 位异或(`^`) 位异或运算符会对两个操作数的每一位执行按位异或操作。如果相应位不同,则结果为 `1`;相同则为 `0`。 ```javascript let e = 5; // 0101 in binary let f = 3; // 0011 in binary console.log(e ^ f); // Output: 6 (0110 in binary)[^1] ``` #### 非位(`~`) 非位运算符会将操作数的每一位取反。即把 `0` 变成 `1`,把 `1` 变成 `0`。 ```javascript let g = 5; // 0101 in binary console.log(~g); // Output: -6 (-0110 in two's complement form)[^3] ``` #### 左移(`<<`) 左移运算符会将其左侧的操作数向左移动指定数量的位置,并在右侧填充零。 ```javascript let h = 5; // 0101 in binary console.log(h << 1); // Output: 10 (1010 in binary) ``` #### 右移(`>>`) 右移运算符会将其左侧的操作数向右移动指定数量的位置。对于正数,在左边填充零;对于负数,在左边填充一。 ```javascript let i = 8; // 1000 in binary console.log(i >> 2); // Output: 2 (0010 in binary) ``` #### 无符号右移(`>>>`) 无符号右移运算符会将其左侧的操作数向右移动指定数量的位置,并始终在左边填充零。 ```javascript let j = -8; // In two's complement form, this is represented as all ones followed by zeros. console.log(j >>> 2); // Output will depend on the system architecture but typically results in a large positive number due to sign extension being ignored. ``` 这些位运算符可以应用于各种场景,比如优化性能敏感的应用程序、处理低级别的数据结构或是实现特定算法等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值