一、转换成字符串类型
二、转换成数值类型
三、转换成布尔类型
4.1 任何简单类型转换成String(三种方法)
4.1.1 变量+“” 或者 变量+“abc”
4.1.2 String(变量)
4.1.3 变量.toSting() 注意:undefined和null不可以
Null和undefined无toString方法。
4.2 任何简单类型转换成Number
此转换容易产生NaN,一旦被转换的变量中含有非数字字符,都容易出现NaN
4.2.1 变量-*/一个数字(有非数字字符会出现NaN)
例:var num1="11" -0; var num2="11"*1; var num="11"/1;
JS底层做了一个强制类型转换,把字符串转换了Number进行转换。
4.2.2 Number(变量)(有非数字字符会出现NaN)
var num1=Number("18"); 把字符变成了数字
var num2=Number("18.99"); 结果为18.99数字型。(有小数也转换)
4.2.3 parseInt()和parseFloat()(译为取整和取浮点数)
空字符串parseInt和parseFloat返回NaN,Number("")返回0
parseInt(变量):如果变量中收割字符为字母则结果为NaN.
否则取出出现首个非数字前的整数。
123=parseInt(“123.123aaa”);
parseFloat(变量):如果变量中收割字符为字母则结果为NaN.
否则取出现首个非数字前的浮点数。(没有小数取整)
123.123 = parseFloat(“123.123aaaa”);
4.2.4提别提示
Boolean类型中:true数值为1;false为0;
null的数值类型为0;
undefined无数值类型或者NaN;
4.3.1 任何简单类型转换成Boolean
任何数据类型都可以转换成boolean类型,所以和以往两个转换不同;
4.3. Boolean(变量)
var bool=Boolean(“1111”); bool为true;
4.3.2 !!变量
第一个逻辑非操作会基于无论什么操作数返回一个与之相反的布尔值
第二个逻辑非操作则对该布尔值求反
于是就得到了这个值真正对应的布尔值
123.123 = parseFloat(“123.123aaaa”);