javascript按位运算符

请教下各位   js里的按位运算符 |     到底起到了什么作用啊?看了很多资料 解释的都很朦胧     我在看一个源代码时  看到的这个   不知道是一种什么逻辑:  this.absorbType = Type.BulletHuman|Type.BulletComputer; //吸收(使消失)何种类型的Unit 其中Type.BulletHuman = 0x4;Type.BulletComputer = 0x8;那么  0x4 | 0x8  表示了什么意义啊?

| 是或运算符
或运算的基本原理是:两个数相对应的位都为1或其中一个为1则结果为1,如果都是0则结果为0。
比如:
4 的各位为 0100
8 的各位为 1000
那么 4|8 就是 1100
转换为10进制就是12
通俗点来理解,或运算可以使两种状态进行叠加,比如
0100 代表勇敢
1000 代表机智
那么经过或运算的结果1100就代表既勇敢又机智
如果1100再和0100进行或运算,结果仍然是1100,因为1100已经包含0100这个状态了
不知你听明白了没有?
温馨提示:答案为网友推荐,仅供参考
相似回答