目录
1.进制问题
需要记住,八进制就是数字前面有0,十六进制是前面有0x,一般用的不多
八进制
var num = 011;
console.log(num); // 9 运算是1*8^1+ 1*8^0 = 9
十六进制
var num1 = 0x11;
console.log(num1); // 17 运算是1*16^1+ 1*16^0 = 17
2. 最大值和最小值 无穷大 无穷小
// 数字型最大值
console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
// 数字型的最小值
console.log(Number.MIN_VALUE); // 5e-324
// 无穷大
console.log(Number.MAX_VALUE * 2); // Infinity
// 无穷小
console.log(-Number.MAX_VALUE * 2); // -Infinity
这几个稍微了解即可。稍微注意一下,无穷小是 -Number.MAX_VALUE
3. NaN
一个不是数字的数字类型。
字符串和数字进行减法、乘法、除法操作,都是NaN,但是加法就是拼接字符串啦
console.log("帅哥" + 100); // 帅哥100
console.log("帅哥" - 100); // NaN
console.log("帅哥" * 100); // NaN
console.log("帅哥" / 100); // NaN
isNaN()
判断一个数字是否是非数字
如果是数字,打印false
如果不是数字,打印false
console.log(isNaN(100)); // false
console.log(isNaN('帅哥')); // true
4. 转化为数字
为什么要进行数据类型的转换?
我们在获取用户数据的时候,有时候不能直接确定这个数据类型是什么?就要提前预备进行转化,以便更好的进行处理。
4.1 parseInt() 转换为数字型的整数
关注第三和第四和第五个
注意:如果数字开头,比如parseInt('123abc'),但是后面有abc,parseInt()和parseFloat()能够把后面的abc去掉
如果是px开头,那么就会打印NaN。这个在一些项目中会用到,面试也有可能会闻到。
console.log(parseInt('3.14')); // 3
console.log(parseInt('8.88')); // 8 直接砍掉数字的尾巴,进行转化,没有残留,不会四舍五入
console.log(parseInt('123abc')); // 123
console.log(parseInt('px123abc')); // NaN
console.log(parseInt('px123')); // NaN
4.1 parseFloat() 转化为数字型的浮点数
console.log(parseFloat('3.14')); // 3.14
console.log(parseFloat('9.99')); // 9.99
console.log(parseFloat('9.99abc')); // 9.99
console.log(parseFloat('abc9.99')); // NaN
console.log(parseFloat('abc9.99ddd')); // NaN
4.1 牛客例题
floor是地板函数,向下取整
a.split('.')[0]-->split是把字符串转化为数组,分成数组以后里面的索引为0的值是10,但是数据类型是字符串,不是整数
var a = '10.42';
console.log(a.split('.')[0]); // 10
4.2 Number 强制转换
注意: Number不影响原有的字符
var str9 = '123';
var num9 = Number(str9);
console.log(typeof num9); // number
console.log(typeof str9); // string
4.3 数学运算 隐式转换
除了第一个+法是转换为字符,其余都是转化为数字
console.log('3' + 2);
console.log('3' - '2');
console.log('3' * '2');
console.log('3' / '2');
console.log('3' % '2');
结尾:
学习id: 201903090124-34
现在是大三学生,学习到了vue阶段,如有不对的地方,欢迎指正,一起努力呀。如有转载请注明出处