本文集合了了js运算符的一些特殊应用。
js位运行符的运用。 js运算符的使用技巧。
是否包含指定字符: ~
~"str1".indexOf("str2")
str1 被查找的字符串 str2 查找的字符串 如果 str1 不含有 str2 ,则返回数字 0 。
例:
取整: |
num | 0
num 整数
例:
1.3 | 0 //1
取半: >>
num >> 1
num 整数 例:求 50 的 1/2
50 >> 1 //25 有除号 / 干嘛不用呢?多好呀: 50/2 //25
成长值评级: ||
需求1: 成长值为5是1星; 成长值为10是2星; 成长值为12是3星; 成长值为15是4星; 其他都是0星。
({'5':1,'10':2,'12':3,'15':4}[val] || 0);
val 成长值。
判断奇偶: &
num & 1
num 整数
例:
交换两个数字的值: ^=
使用位运行符:
使用数组:
2的n次方: << 和 **
1 << n-1
使用位运行符:
2的n次方
例:2的3次方:1<<3 //8使用幂运行符:
个人觉得这个不如直接使用 幂 的方式好。
x的y次方: x**y
例:2的3次方:2**3 //8
方法比较:
使用 << 的方式可以支持负数,** 需要用括号否则出错。 使用 ** 比较直观,没研究过 << 方法的任意数的任意次方的规律。
错误
3**2 //9 正确
是否是指定字符串开头: ! 和 ^
!str1.indexOf("str2")
例:
使用正则方式
字符串转数字: +
+str
例:
转为 Boolean 值: !!
!!obj
例:
!!'text' //true