js按位取反~应用

作者:@ywjbalabala
本文为作者原创,转载请注明出处:https://www.cnblogs.com/ywjbalabala/p/17242804.html


js中在变量名前加"~" 是位运算NOT,按位取反.

var iNum1 = 25;
//25 二进制原码等于 00000000000000000000000000011001
var iNum2 = ~iNum1;
//转换为 11111111111111111111111111100110
alert(iNum2);//输出 "-26"

相当于是对数值求负后减1 ,25 -> -25 -> -26

indexOf用法

if (~this.cartIds.indexOf(item.id)) { //if(~(包含0的正数)) 如数组索引号
//在if判断里,只要是非0都会进入
//当this.cartIds包含item.id时,返回的是0,然后~取反为-1
}

函数用法

在函数前加上波浪号,其作用是把函数声明转换为表达式,就可以直接将下面的代码放入某个函数里运行。

function functionName() {
//执行的代码
~function sayHello(){ console.log('hello');}()
}
posted @   lalibaba  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示