### 八进制、十进制、十六进制数字
1、八进制:必须以0开头,超出范围默认取0后面的数值。八进制字面量在严格模式下是无效的,JS会抛出错误。
```
let num0 = 070 // 56
let num1 = 078 // 78(超出范围)
```
2、十六进制:必须以0x开头,后面跟任意十六进制数字(0~9及A~F),其中,字母A~F可以大写,也可以小写。
```
let num0 = 0xA // 10
let num1 = 0x1f // 31
```
3、parseInt()方法,该方法能识别8进制、16进制数字。
```
let num = parseInt(070); // 56
let num2 = parseInt(0x1f); // 31
let num3 = parseInt(''); // NaN
```
parseInt()方法存在第二个参数,代表按什么进制转化
```
let num0 = parseInt('01', 2); // 2
```
### +操作符后面加变量与Number()方法功能一致。
```
let str = 'hello';
let a = undefined;
let b = null;
console.log(+str); // NaN
console.log(+a); // NaN
console.log(+b); // 0
```
### parseFloat(),只支持解释10进制数字字符串,会自动省略前面所有的0,如果字符串可解析为整数,会优先返回整数。
```
console.log(parseFloat('001.001')); // 1.001
console.log(parseFloat('1.00')); // 1
console.log(parseFloat('0x1f')); // 0
```