Javascript是一种对数据类型变量要求不太严格的语言,所以不必声明每一个变量的类型,
变量声明尽管不是必须的,但在使用变量之前先进行声明是一种好的习惯。
JS中有七种数据类型 undefined :值未定义,null:值为空,boolean:值为布尔
值,number:值为数值,string:值为字符串,object类型。symbol,检查数据类型用typeof()
JS数据类型转换方法主要有三种:转换函数、强制类型转换、利用js变量弱类型转换。
1、转换函数:
js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成
浮点数。在判断字符串是否是数字值前,parseInt()和parseFloat()都会仔细分析该字符串。
parseInt()方法首先查看位置0处的字符,判断它是否是个有效数字;如果不是,该方法返
回NaN,不再继续执行其他操作。如果该字符是有效数字,该方法将查看位置1处的字符,进行
同样的测试。这一过 程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前
的字符串转换成数字。
例如:
parseInt("1234blue"); //return 1234
parseInt("22.5"); // return 22 对于整数来说,小数点是无效字符
parseInt("blue"); //return NaN
parseFloat() 方法与parseInt()方法的处理方式相似,但有不同之处 。当字符串中有两
个小数点,第二个小数点将被看作无效的,即字符串“22.34.5”将被解析为22.34。另外一个
不同之处在于,字符串必须以十进制形 式表示浮点数,不能用八进制或十六进制。
例如:
parseFloat("1234blue"); //return 1234.0
parseFloat("22.34.5"); //return 22.34
parse Float("0908"); //return 908
parseFloat("blue"); //return NaN
2、强制类型转换
Boolean(value)--把给定的值转换成Boolean型,布尔值只有两个形式(true false),如
果转换的值是至少有一个字符的字符串、非0数字或对象时,返回true;如果该值是空字符串、
数字0、undefined或null,将返回false。
例如:
Boolean(""); //return false
Boolean("hi"); //return true
Boolean(100); //return true
Boolean(null); //return false
Boolean(0); //return false
Number(value)--把给定的值转换成数字(整数或浮点数),如果转换的值不是数值,
则会返回NaN
例如:
Number(false); //return 0
Number(true); //return 1
Number(undefined); //return NaN
Number(null); //return 0
Number("5.5"); //return 5.5
Number("56"); //return 56
Number("5.6.7"); //return NaN
String(value)--把给定的值转换成字符串
3、利用js弱类型转换
例如:
<script>
var str= '012.345 ';
var x = str-0;
alert(x);
</script>
相加时也可以改变数据类型:
运算 | 结果 |
---|---|
数值与字符串相加 | 将数值强制转换为字符串。 |
布尔值与字符串相加 | 将布尔值强制转换为字符串。 |
数值与布尔值相加 | 将布尔值强制转换为数值。 |