美文网首页Web前端之路
2、强制数据类型转换

2、强制数据类型转换

作者: 宁公子_5dce | 来源:发表于2019-07-25 20:32 被阅读4次

    数据类型转换:

    在js中,数据类型的转换有两种,分别是自动转换和强制转换

    自动转换:

    自动转换是用JS进行某些操作的时候,浏览器会自动将其转换为某种数据类型,并不需要人为操作控制,如:
    1、在与string类型进行任何相加操作时,会自动将所有数据类型转换成string类型,+ 运算符变成拼接符号
    2、在进行算术运算时,浏览器会自动将所有的数据类型转换为numder类型,
    注意: 不包括与string类型的相加
    3、在进行任何布尔运算时,浏览器同样会自动将所有的数据类型转换成number类型进行比较,
    注意: 如果有汉字等非数字的值,则会按照其unicode编码进行比较

    算术运算类型自动转换:

    1、字符串与任何类型相加都是字符串
    2、布尔值与数字相加,true被转换成1,false被转换成0
    3、数字与undefined相加,得到NaN
    4、数字与null相加,null被转换成0
    5、布尔值与undefined相加得到NaN
    6、布尔值与null相加,都被转成数字,true被转换成1,false被转换成0,null被转换成0
    7、undefined与null相加,得到的是NaN

    强制转换:

    在JS中,提供了几种可以让我们自己来控制类型转换的方法通过这几种方法我们可以根据自己的意愿来转换我们想要的数据类型,这种类型转换方法我们成为强制类型转换:
    字符串:
    String();
    使用这个函数可以将任何值转换成字符串,使用方法:将要转换的值作为参数传进去,以下同样。
    toString();
    使用这个方法可以将除了null和undefined以外的数据类型转换成字符串,需要注意的是,它不会改变原来的数据,而是将转换后的值作为返回值返回,所以需要一个变量用来接收它的返回值。
    var b = a.toString();//调用xx的yy方法就是xx.yy();
    数字:
    parseInt();
    1.除了数字以外都转成NaN
    2.将浮点数转为整数
    3.将数字开头的字符串转为对应的整数数字
    parseFloat();
    1.除了数字以外都转成NaN
    2.将浮点数转为浮点数
    3.将数字开头的字符串转为对应的浮点数字
    Number();
    1.只能将纯数字的字符串转成对应数字
    2.false,null转成0,true转成1,undefined转成NaN
    注意: 这个方法也是浏览器默认数据转换为Number的方法
    布尔值:
    使用函数:Boolean();
    1、数字-->布尔:除了0和NaN,其余都是true
    2、字符串-->布尔:除了空串,其余都是true
    3、null和undefined都会转换成 false

    类型检测工具:

    虽然我们设置了强制类型转换,但是想到浏览器也会自动转换,谁能想到这个转换过的数据是不是我们想要的数据类型,或者是不是转换成功了呢?毕竟有很多时候我们并不知道,所幸JS也提供了这样一个属性,能够告诉我们这个数据到底是什么数据类型:
    typeof使用这个属性能够告诉我们检测的数据的类型
    typeof的返回值有6个,就是我们JS的六种数据类型,使用它会将当前所检测的数据的数据类型作为返回值并返回,使用方法:

    var a = 10; //创建一个变量a 并将数字10赋值给它
    var b = typeof a;//使用typeof来检测 变量a的数据类型,并创建一个变量b用来接收typeof产生的返回值
    console.log(b);//向控制台输出变量b,得到的结果是"number"
    

    相关文章

      网友评论

        本文标题:2、强制数据类型转换

        本文链接:https://www.haomeiwen.com/subject/obmkrctx.html