javascript中的位运算符重要吗,常用吗?感觉学起来好难哦
发布网友
发布时间:2022-04-24 02:07
我来回答
共5个回答
热心网友
时间:2022-04-20 09:21
javascript这门脚本语言,多用于辅助性开发,位运算如非必要,不推荐使用。虽然位运算在高级语言里,有时候能优化性能。但毕竟javascript是一门解释性语言,位运算也是解释后执行,性能并没有突出。
有两种情况下,
1)宿主是v8之类的虚拟化的引擎,但就我对虚拟化的理解,位运算在虚拟机里,应该还是不如c语言等编译性语言的;
2)大面积矩阵式运算,这时候有时候会用到位运算。当然,位运算应该学通,这对内存,以及优化程序性能有帮助。
位运算通常配合二进制来学,比较快一点。可能比较绕人的是高位。中国很多概念式教程说的很烂,都喜欢装13(*)的用异或取反等来解释,这是很不科学的。
位运算的高位在c语言等里面表现,取决于cpu指令;但在javascript里不是——至少不完全是。我没仔细研究过。
无论哪种语言。位运算的意义有两种
1)或、异或、取反、与,这种叫掩码式运算,主要应用在于给某二进制位进行验证、设置、改变状态(改变状态,其实也是设置)等;
2)是位移,这个在加密解密压缩等科学里面经常看到,平常程序的应用不是很多,或者我短路没想到。
考虑到兼容性的问题,我觉得javascript的整数不应该当作c语言等下的整数来看。你保不齐哪个引擎是32位或者是64位。32位和64位在位移的时候,有时候结果不同的。
所以我的结论是,javascript不要苛求位运算,能避免就避免。但位运算还是要好好学,建议借助于c语言等来学。
热心网友
时间:2022-04-20 10:39
位运算说不上有多重要,但是经常用!
常用的就是AND(&&)和OR(||),经常跟if条件判断放在一起用,
1、比如要判断多个条件同时成立
if(条件1 && 条件2 && 条件3){
//三个条件都成立才执行这里面的内容
}
2、比如多个条件里有一个条件成立
if(条件1 || 条件2 || 条件3){
//三个条件中有一个条件成立就执行这里面的内容
}
3、AND和OR其实就是“与”、“或”的运算。有些口诀记住就好,比如对于“与”运算,有假为假,全真为真,对于“或”运算,有真为真,全假为假
4、其他的一些位运算用的不太多,但是要懂,遇上了要明白,这东西用多了就熟悉了,光看理论不应用确实是比较难记住
追问你回答得很好,谢谢。
热心网友
时间:2022-04-20 12:14
理解位运算符还是挺有用的,在一些特殊的地方,可以简化程序的运算。不过平时用的不多,知道怎么回事就行了。
热心网友
时间:2022-04-20 14:05
提问的功夫,还不如直接去研究它,弄清楚它。
http://www.w3school.com.cn/js/pro_js_operators_bitwise.asp
热心网友
时间:2022-04-20 16:13
先学其他的,这个东西到后面你熟悉了,就比较好理解了!