按位取反~
基本概念:
这是js中的一元操作符:按位取反。
计算规则为:
1 | ~x = -(x+1); |
即:~-1 = 0、~1 = -2。
就来看看~1
的计算步骤:
将
1
(这里叫:原码)转二进制 =00000001
按位取反 =
11111110
发现符号位(即最高位)为
1
(表示负数),将除符号位之外的其他数字取反 =10000001
末位加1取其补码 =
10000010
转换回十进制 = -2
indexOf 神操作
~
取反的用法是,是因为-1的取反操作等于0,而其他数的取反操作不等于0。所以用indexOf
操作符可以用~
操作来判断某个字符串里是否有某个字符。
1 | var str = '123456' |