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

