常用数据类型有以下几种:
- 字符型(String)
- 数值型(Number)
- 布尔型(Boolean)
- Undefined
Null
字符型:var s = “string”;字符串要用引号引起,单引号和双引号的作用是等效的。
数值型:var num = 10; var num = 10.00;包括整形和浮点型。
布尔型:只有True
和False
两种取值。
Undefined:这是一种比较特殊的类型;表示变量未赋值,这种类型只有一种取值,那就是Undefined。
var num; console.log(typeof (num));
上面代码输出结果就是Undefined。
Null:表示空的,没有值。var s1=null; 表示变量值为空,该变量在内存中是不存在的。真正的空。 s1的数据类型为 object
注意: 数据类型的判断使用typeof(变量)
常见数据类型转换
数据类型转换分为隐式类型转换 和 强制类型转换 这两种。
强制类型转换:
- 将数字转换为字符串:有两种方法:
String()
和.toString()
- 将字符串转换为数字:有下面几种操作:
Number()
:可以将数据类型的字符串转换为数值型
var n = "123.456";
n = Number(n);
alert(n);//123.456
alert(typeof(n));//Number
var b = "aaa";
b = Number(b);
alert(typeof(b));//NaN;非数字类型的字符串强制转换最后结果会变为NaN
parseInt():
将数字类型的字符串通过该方法转换后,只保留数字的整数部分,不会进行四舍五入运算。
非数字类型的字符串转换后的结果为NaN.;如果在数字后加上非数字的字符,也可以转换成功
var n = "123.456";
n = parseInt(n);
alert(n);//123;将数字类型的字符串通过该方法转换后,只保留数字的整数部分,不会进行四舍五入运算
alert(typeof(n));//Number
----------
var n = "aaa";
n = parseInt(n);
alert(n);//NaN;非数字类型的字符串转换后的结果为NaN
----------
var n = "12ab";
n = parseInt(n);
alert(n);//12;如果在数字后加上非数字的字符,也可以转换成功
parseFloat():
最后保留的元数据,不会对数字进行四舍五入运算;
如果在数字后加上非数字的字符,也可以转换成功
var n = "123.12";
n = parseFloat(n);
alert(n);//123.12; 最后保留的元数据,不会对数字进行四舍五入运算;
alert(typeof (n));//number;
----------
var n = "123.12aa";
n = parseFloat(n);
alert(n);//123.12;如果在数字后加上非数字的字符,也可以转换成功
alert(typeof (n));//number;
将其他数据类型转换为boolean:
有两种方法:1. 利用 !! ;2. 利用 Boolean()函数 ;
例如:
var b = Boolean(“123”); //返回yesfalse、undefined 、null、0、”” 为 false
true、1、”somestring”、[Object] 为 true