美文网首页
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