萌新求教。js里&和|位运算符我是有基本有一点理解,比如 0&1时会转化2进制判断返回结果 0000&0001 对比得出0000 所以返回0.但是基于两边是数值的时候的运算规则我是了解的。后来我得出一个想法,如果其中一个不是数值是字符串或者其他东西会是什么结果。本来是设想是可能会转成一个布尔值,为true的时候按1,false 为0.来计算。后来发现没有这么简单。再谷歌控制台打测试的时候,发现字符串是用0来计算的。返回的是false。但是toboolean我的理解如果非空的字符串应该是true把,同理测试了数值,对象等也都是的false。以上结论是我基于它运算机制是用布尔值来运算的设想。可能是错的一塌糊涂。所以我很好奇&和|的运算机制到底是怎么样的?希望有大牛能不吝赐教。解答下萌新的小疑问。还有&运算符再工程中再那一块用的比较多?谢谢各位老师了。
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
老老实实用数字进行位运算就好了。
位运算一般用在高性能计算中,比如一些3D引擎如Three.js。
还有一些奇怪的用法就是小数与0进行或运算可以得到取整的效果。
1.5 | 0 == 1.0
添加回答
举报
0/150
提交
取消