隐式转换 显示转换
####一.隐式转换
**1) 查看数据类型**
*typeof*
```js
案例: var a=1;
console.log(typeof(a));
控制台显示:number(数字类型)
```
**2) NaN:not a number(确实不是数字类型)**
判断一个非数字 如果不是一个数字返回true(对),
如果是一个数字返回false (错)
```js
案例: var b="hello world";
console.log(typeof(b));
控制台显示:true
```
```js
隐式转换结论
1、数字 + 字符串 :将数字转换为字符串
2、数字 + boolean :将 boolean 转换为 number类型
3、数字 + undefined :结果为 NaN,NaN的类型为 number
4、字符串 + boolean :将boolean 转换为 字符串
5、boolean + boolean :都转换成number在做相加运算
```
***
#####二.声明提前
```js
console.log(x);
var x="5";
=↓
console.log(x)
var x;
x="5";
=↓
var x;
console.log(x);
x="5";
最终控制台显示:undefined(未定义)
```
***
####三.显式转换
**1.强制转换为整数(无四舍五入)**
* parseInt(*);
例:
```js
var a='3.7';
var b=parseInt(a);
console.log(b);
控制台显示:3(数字格式)
```
**2.强制转换为小数**
* parseFloat(*);
例:
```js
var a='0.5';
var b=parseFloat(a);
console.log(b);
控制台显示:0.5(数字格式)
```
**3.转换成number类型**
* Number(*);
例:
```js
var a='11';
var b=Number(a);
console.log(b);
控制台显示:11(数字格式)
```
**4.转换成字符串**
* *.toString();
例:
```js
var c=false;
var d=c.toString();
console.log(c);
console.log(d);
控制台显示:false(字符串格式)
```
**5.按要求保留X位小数(四舍五入)**
* *.toFixed(x);
```js
例:
var a=15.156456148;
var b=a.toFixed(5);
console.log(b);
控制台显示:15.15645(字符串格式)
```