美文网首页
ECMAScript数据类型及转换

ECMAScript数据类型及转换

作者: 凉粉的世界 | 来源:发表于2017-09-26 23:47 被阅读0次

    一、数据类型:

    (一)数据类型分类(注意:function不属于类型)

            基本类型

                1、number 数字    (eg.  1、2、3…) 

                2、string 字符串      (eg.  '1' 、‘s’ …)

                3、boolean 布尔值    (eg.  true 、false)

                4、undefined  未定义     

                5、null    空对象(不能存东西)

           复合类型   (可以存储多种东西)

                object  对象    (eg. document 、window 、[]数组 …、null)

    (二)数据类型的查看

                  typeof()  的使用(number、string、boolean、undefined、function、object)

             eg.   var a = 1;

                    alert(typeof a);    ==>弹出框显示为:number

    (三)数据类型的转换

           显示类(强制数据类型转换)

    1、parseInt()--转化为整数

            从第0位开始,一位一位的查看是否是数字,若是查到某一位不是数字时,就把这位之前的数字提取出来,反之若第0位就是数字,则返回为NaN。

    eg. var a ={                                                                                eg. var a = {

                       true ;   ==> NaN                                                 "12.324"  ;   ==>  12                  

                      "s123" ;  ==> NaN                                               "1s2a33"  ;   ==> 1

                      ".124" ;  ==> NaN                                                [12,232,44]  ;  ==>12

                      " "  ;      ==> NaN                                                 }

                  }

            parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。

            基是由parseInt()方法的第二个参数指定的,所以要解析十六进制的值,当然,对二进制、八进制,甚至十进制(默认模式),都可以这样调用parseInt()方法。

    eg、var num1 = parseInt("AF",16);//175

            var num2 = parseInt("AF");//NaN

            var num3 = parseInt("10",2);//2  (按照二进制解析)

            var num4 = parseInt("sdasdad");//NaN

       2、parseFloat --转化为小数(浮点型)

           从第0位开始,一位一位的查看是否是数字,若是查到某一位不是数字时,就把这位之前的数字提取出来,且多解析出1个小数点;反之若第0位就是数字,则返回为NaN。

         eg.   var a = "12.723.334"  ==>12.723

    一:Number()

      如果是Boolean值,true和false值将分别被转换为1和0。

      如果是数字值,只是简单的传入和返回。

      如果是null值,返回0。

      如果是undefined,返回NaN。

      如果是字符串:

         a.  如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0

         b. 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0

         c. 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值

         d. 如果字符串为空,将其转换为0

         e. 如果字符串中包含除上述格式之外的字符,则将其转换为NaN

           如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()方法,然后再依照前面的规则转换返回的字符串值。

    二:string()

       将所有的数据都转化为字符串,及在原来的基础上加上引号“”,变为字符串。

    三:boolean()

       将所有的数据都转化为布尔值:

    (1)转为true (非0的数字、非空的字符串、函数、非空对象、数组)

    (2)转为false ( 0、空的字符串、NaN 、undefined  、Null   )

       注意:[    ]  ==>只要字符串中有空格或者有内容,即为非空的字符串。

                  空对象是不能进行属性操作的。

                  空数组  != 空对象null

    隐式类型转换

    1、“+”   、“++”   、“+=”  

         (1)碰到字符串就执行字符串拼接;

         (2)如果可以转换成数字,就进行数字相加(number的操作);

         (3)如果不能把左右两边都转化成数字,就执行字符串的拼接。

    2、“-”  、“*”  、“/”  、“%”   、“--”

    会直接把左右两边都转化成数字进行计算,如果不能转成数字,即为NaN。

    3、“==”   、“!=”

           先判断所有的数据是否类型一样,如果类型不一样会进行类型转换,然后进行比较,若转换后的结果一样,及为true,若结果不一样,及为false。

    4、“===”  、“!==”

            直接对左右两边的数据进行判断,若数据类型不一样,即为false(给什么比较什么,不会转换类型)。

    5、!取反

         类似于反义词的作用

    相关文章

      网友评论

          本文标题:ECMAScript数据类型及转换

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