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很重要的一个知识点,特别是引用类型,在后面会对数组,函数和对象类型做详细的解释。

  

原文地址:https://www.cnblogs.com/kingmin/p/6930280.html