基本数据类型转换

1.javascript共有五种基本数据类型

(1).数值 number

(2).字符串 string

(3).布尔值 boolean

(4).空 null

null类型的默认值是null,表示一个空对象指针,如果定义的变量准备在将来用于保存对象,那么就该将该变量初始化为null,优化代码.

(5).undefined

在使用var声明变量,但未对其加以初始化时,这个变量的类型就是undefined,且其默认初始化值为undefined

对未声明与初始化的变量,直接使用,那么这个变量的类型也是undefined,但是没有默认初始化值。

type test;//undefined 直接调用就会报错

2.Number函数

将任意类型的值转化成数字。

Number("123");//123
Number("123abc");//NaN
Number("");//0
Number(false);//0
Number(null);//0
Number(undefined);//NaN
Number({xixi:1});//NaN

3.String函数

将任意类型的值强制转化成字符串

String(123);// "123"
String("123");// "123"
String(false);// "false"
String(undefined);// "undefined"
String(null);// "null"

4.Boolean

将任意类型的变量强制转换为布尔值。

Boolean("");// false
Boolean("xixi");// true
Boolean(-1);// true
Boolean(null);// false
Boolean(0);// false 
Boolean(new   Object());// true 

5.自动转化

1.加法运算。当一个值为字符串,另一个值为非字符串,结果转为字符串。

1+"2" // "12"
"1"+true // "1true"
"1"+{} // "1[object object]"
"1"+[] // "1"
"1"+undefined // "1undefined"
"1"+ null // "1null"
"1"+function(){} // "1function(){}"

2.除加法外其余运算符可以转换为数值

"2"-"1" // 1
"2"/1 // 2
true-1 // 0
false-1 // -1
"1"*[] // 0

6.四种特殊的转换

(1)空数组+空数组 = 空字符串

(2)空数组+空对象 = “[object object]”

(3)空对象+空数组 = 0

(4)空对象+空对象 = NaN

7.parseInt(),parseFloat()

parseInt()把值转换为整数,还可以自己设置多少进制

parseInt("123aaa") // 123
parseInt("123.4") // 123
parseInt("aaa") // NaN

parseFloat()把值转换为浮点数

parseFloat("1a") // 1
parseFloat("12.12") // 12.12
parseFloat("aa") // NaN