这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天
课堂重点
这节课学的是月影老师的如何学好《JavaScript(下)》,继续学习如何写出优质的js,今天的内容偏向如对一些js方法算法的优化,了解更多的js代码处理写法,内容也偏向了算法这一块,虽然总说前端不需要有太多的算法实力,但是学习思想是最重要的。
详细知识点介绍-进制转换
这里往往说的不是课上讲了啥,而是我自己通过上课发现了啥问题,然后去了解了什么相关知识点,所以在网课的过程中我发现老师用了很多进制转换方法来处理事件,而我对这块有些陌生,所以去恶补一下相关知识。
进制前言,不同进制数字的表达: 1、二进制:以0b或0B开头(0b1010) 2、八进制:以数字0开头(01010) 3、十进制:1010 4、十六进制:以0x或0X开头(0x1010)
- .toString() 通过 数字.toString(要转换的进制)可以实现进制转换,返回的是转换好的字符串。因此拿到的字符串做运算处理要注意是否先要做类型处理。要转换什么数字只要在括号内写了相应进制的数字就好,如8,16,2
2.parseInt() 该方法可以将其他进制的数字转换为十进制,方法填写第二个参数parseInt(要转换的数字,把这个数字当成几进制)既可返回一个十进制的数字。同时该方法的第一个参数可以不用加上进制数前缀
3.Number()
与parseInt一样是将其他进制数字的字符串转为十进制数字,如Number('0x33')这样填写,但是一定要带上进制开头前缀。
该方法有个跟快捷的操作就是在带有前缀的进制数字前加个‘+’号就可以实现与Number()一样的效果
-
算术运算符
- << 换位左移
将第一个操作数的所有二进制位向左移动指定位数,10<<1 1010(10的二进制数)向左移位变成10100 结果是20- '>>' 按位右移
将第一个操作数的所有二进制位向右移动指定位数,10>>1 1010 变成 101 结果是5- & 与 只有两个操作数相应的比特位都是1时,结果才为1,否则为0
-
| 或 对于每一个比特位,当两个操作数相应的比特位至少有一个1时,结果为1,否则为0。
- ^ 按位异或 对于每一个比特位,当两个操作数相应的比特位有且只有一个1时,结果为1,否则为0。
- ~ 换位非
个人总结
进制转换可能用的少,但总有要用的时候,何况也是编程基础,之前大一讲过可能忘了,回来补补。 另外虽然前端算法要求不高,但是那种高效的编程思维还是要学的,谁不想写出一些简短精炼的代码,现实一点的话不也是可以让人刮目相看甚至吹牛的资本呢。
文章参考
JavaScript 进制转换&位运算,了解一下?www.cnblogs.com/chanwahfung… JavaScript中的多种进制与进制转换blog.csdn.net/snsHL9db69c…