### 八進制、十進制、十六進制數字
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
```