|
其实是一种利用符号进行的类型转换,转换成数字类型
~~true == 1 ~~false == 0 ~~"" == 0 ~~[] == 0 ~~undefined ==0 ~~!undefined == 1 ~~null == 0 ~~!null == 1 解析: 其实: ~是按位非,就是每一位取反(处理时,会先将数据转成二进制,在进行取反操作), ~~ 常用来取整 比如 ~~10.2323=10 ~~(10/3) = 3 还有,位运算符的运用,计算机里面的 ^= 是异或运算,相同取0,不同取1. 两个整数交换可以酱紫表示: var a = 10,b=20; a ^= b; b^=a;a^=b; 将a = a ^= b; b = b^=a; a = a^=b;在js中类似于: var a = 1,b = 2; a = a + b; b = a - b; a = a - b; a // 2 b //1 不过这种方法适用于任意两个数字类型的交换,无论是整数类型还是小数 位运算符介绍:http://www.w3school.com.cn/js/pro_js_operators_bitwise.asp 参考:https://www.cnblogs.com/tangjiao/p/9131993.html https://zhidao.baidu.com/question/324495666.html |
|
|