4-JavaScript数据类型与类型转化
一.数据类型
1.基本数据类型:
(1)string 字符串类型
(2)Boolean 布尔值
(3)Number 数字类型
(4)Null 空
(5)Undefined 未定义
2.引用类型:
(1)Array 数组
(2)Object 对象
(3)Function 函数
二.类型转换
1.转换函数
parseInt():把值转换成整数;parseFloat():把值转换成浮点数
parseInt()和parseFloat()都会仔细分析该字符串。parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的 测试。这一过程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前的字符串转换成数字。
parseInt("1234blue"); //1234 parseFloat("1234blue");//1234.0 parseInt("OxA"); //10 parseFloat("OxA");//NAN parseInt("22.5"); //22 parseFloat("22.5");//22.5 parseInt('blue'); //NAN parseFloat('blue'); //NAN
parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值,需如下调用parseInt()方法:
parseInt("10",2); //2 parseInt("10",8); //8 parseInt("10",10);//10
2.强制类型转换
强制转换:适合十分明确要转成什么类型
(1)Number() 强制转换成数字类型
var a ="ssssjff"; alert(typeof(a)); //string alert(typeof(Number(a))); //number var a1= "-234"; alert(typeof(Number(a1))); //number var a2 = ""; alert(typeof((Number(a2))); //number var a3 = " "; alert(typeof((Number(a3))); //number var a4 = true; alert(typeof(a4)); //boolean alert(typeof((Number(a4))); //number var a5 = null; alert(typeof(a5)); //object alert(typeof((Number(a5))); //number
(2)Boolean() 强制转化成 boolean
var b = Boolean(" "); alert(b); //true var b1 = Boolean(""); alert(b1); //false 若有空格返回true 没有空格返回false var b2 = Boolean("assd"); alert(b2); //true var b3 = Boolean(1); alert(b3); //true var b4 = Boolean(0); alert(b4); //false var b5 = Boolean(23); alert(b5); //true
(3)String() 强制转换成字符串
var a= String(2345); alert(typeof(a)); //string var a1 = String(false); alert(typeof(a1)); //string var a2 = String(null); alert(typeof(a2)); //string var a3 = String(asdf); alert(a3); //报错 alert(typeof(a3)); //报错
3.隐式类型转换
小结:数据类型是ECMA很重要的一个知识点,特别是引用类型,在后面会对数组,函数和对象类型做详细的解释。