题目
手写parseInt
的实现:要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number()
实现
这道题考察的知识点有下面几个方面:
1 parseInt
的使用
parseInt
接受两个参数,第一个参数s
是要转换的数字或者字符串,第二个参数radix
是指定的转换的基数,介于2
和36
之间
因此需要对两个参数都进行校验,按照题目要求,需要对如果第一个参数不是数字的情况进行处理。
同时需要对radix
进行处理,比如当前radix
为8
,输入为9
,就无法返回正确的数字,因为已经超出了进制转换的范围
同时要注意,parseInt
的使用会从首位开始解析,如果第一位解析成功,第二位解析失败,则返回第一位的解析结果:
parseInt('5f');
// 5
parseInt('15', 2);
// 1
2 charCodeAt
方法
通过charCodeAt
方法返回指定位置的字符的Unicode编码
charAt()
方法执行返回的是指定位置的字符子串。