看完标题,入坑过的同学脑海里很快会浮现出这道经典面试题,没碰到过的同学不妨跟着楼主先来复习一遍 parseInt 的用法(主要参考 MDN)。
parseInt 是 JavaScript 中的一个全局函数(顶级函数),它会将给定的字符串以指定基数(radix/base)解析成为整数。
它的语法非常简单:
复制代码parseInt(string, radix)
第一个参数 string 是要被解析的值,如果参数不是一个字符串,则将其转换为字符串,字符串开头的空白符将会被忽略。而第二个参数 radix 是一个 2 到 36 之间的整数值,用于指定转换中采用的基数,如果不传入,默认是 10,即按照十进制转换,这里要注意一点,如果第二个参数传入 0,和传入 10 以及不传入第二个参数等效。函数返回一个整数值,如果解析过程中发生错误,将返回 NaN。
返回 NaN 的主要有以下几种情况:
被解析参数的第一个字符无法被转化成数值类型
被解析参数数值太大,不是 radix 进制下的合法数字
radix 不在 [2, 36] 范围内(注意其实 0 也是可以的)
复制代码console.log(parseInt('hello', 2)); // NaNconsole.log(parseInt('3', 2)); // NaN, 3 不是合法的二进制数字console.log(parseInt('3', 100)); // NaN其实实际开发中我很少用 parseInt,而是用 + 和 ~~ 代替,因为它实在是太长了,但是很显然 parseInt 的使用范围更广。
简单回顾了 parseInt 的用法,我们来看这道题:
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
学习是年轻人改变自己的最好方式