美文网首页饥人谷技术博客
JS中的数据类型简介

JS中的数据类型简介

作者: 大春春 | 来源:发表于2016-12-31 18:22 被阅读0次

    JS中一共有6种数据类型,分为:数字(Number)、字符串(String)、布尔值(Boolean)、undefined、null以及对象(Object)

    一、原始类型和复杂类型

    • 原始类型:最基本的数据类型,不能再往下细分;
      JS中的数据原始类型有:数字,字符串,布尔值,undefined和null(这两个是特殊值);

    • 复杂类型:
      JS中的复杂类型指的就是对象,对象一个容器,包裹其它的由基本类型组成的键值对组合;

    二、JS中的数据类型判断方法

    • typeof
      1.介绍:typeof是一个一元运算符,它只需要一个值,对该值进行类型判断,然后输出该值的类型的字符串表示;
      2.用法:typeof+值,图示如下:
      typeof用法
      3.typeof的一些应用
      ①. 检查一个变量是否存在,是否已被赋值;
      检查变量
      ②. 验证一个变量既不等于undefined又不等于null
      变量判断
      ③. 判断某个值是不是函数;
      PS:在typeof+函数的时候,输出的类型为'function',但是'function'也属于对象;
      判断函数
    • instanceof(不推荐使用)
      1.介绍:instanceof是一个二元操作符,它需要两个值,值需要是对象,用来验证前面的值是否是后面值的实例;
      2.用法:值+instanceof+值:
      instanceof用法
      3.为什么不推荐使用instanceof
      因为它不能对基础类型进行判断,且有奇怪的BUG,如下:

    三、数字(Number)类型

    • 数值类型简介?
      数值类型指整数或者浮点数,例如1和-1,5.6和-5.6;

    • 关于科学计数法(用e代替10,用来表示一个数字a=ne的x次方)*
      在JS中,如果数字太长,会转换用科学计数法表示,同理,过长的数字也可以用科学计数法表示,如下图:

      科学计数法
    • 无穷数(Infinity)

    1.介绍:因为内存是有限的,所以一个数字的表示不能是无限长的,那么这一点在JS中的表现就是:如果有一个数字突破JS中对数字的长度限制,就会用Infinity来表示它;

    2.JS中的数字长度限制是多少?
    最大能表示的数值:(可以在控制台中用Number.MAX_VALUE查看)
    最大值为1.7976931348623157e+308

    JS中的最大值
    最小能表示的数值:(Number.MAX_VALUE)
    最小值为5e-324
    JS中的最小值

    3.判断一个值是不是无穷数可以用isFinity()方法,该方法判断无穷数为false,不是无穷数则为true

    如何判断无穷数
    • 转换为数值的方法

    1.Number()方法(很少用):不能转换类似123abc这样的字符串中的数字
    使用方法:

    Number方法

    2.parseInt()整数转换:可以转换类似'123abc'这样的字符串中的数字,但是无法转换类似'abc123'这样的字符串,它判定的方法是字符串中的第一位字符开始,是数字就转换,直到碰到一个不是数字的字符为止,所以转换浮点数时不能转换小数点后的数字;
    使用方法:

    parseInt方法

    3.parseFloat()浮点数转换:为了应对parseInt()不能转换小数点后的数字这一问题而出现;
    使用方法:

    parseFloat方法
    • NaN(Not a Number)

    1.定义:NaN在数据类型中也是属于数字,指代对于非数字字符串转换数字时出现的数据;


    2.NaN的特点:
    NaN是未知的,它与任何值都不相等,包括它自身:


    NaN与任何值都不等

    四、字符串类型(String)

    • 字符串类型简介
      字符串指的就是字符组成的文本,例如:"Hello",它用双引号或单引号包裹表示;

    • 定义字符串中需要注意的问题
      定义字符串需要注意的就是双引号和单引号的用法:
      1.包裹用的引号,开始为双/单引号,结束就用双/单引号;


      2.字符串内有双引号时,包裹用的引号使用单引号;

      3.字符串内又有单引号又有双引号时请使用转义字符\\(反斜杠)

    五、布尔值(Boolean)

    • 布尔值类型介绍
      布尔值只有两个值:true和false,常用于条件的判断;

    • 会返回布尔值的运算符
      1.两元运算符: &&(与)、||(或);
      2.前置运算符: !(非);
      3.相等运算符:===(全等)、==(相等)、!==(不全等)、!=(不相等);
      4.比较运算符:>(大于)、>=(大于等于)、<(小于)、<=(小于等于);

    • 所有的数据都可以转化为布尔值

      • 可以转化为false的值:
        1.undefined;
        2.null;
        3.数字0;
        4.false本身;
        5.NaN;
        6.""空字符串;
    值转换false

    其余的值都可以转化为true;

    六、undefined和null

    • undefined

      • undefined介绍:
        undefined数据只有一个值undefined,表示此处不存在值;

      • undefined的典型用法:
        1.验证一个变量是否被赋值,若未被赋值,则等于undefined,如下图:


        undefined验证变量是否被赋值

        2.验证函数中的参数是否有提供,如下图:


        验证函数参数是否有提供
        3.验证对象中的属性是否有值,如下图:
        验证对象的值
        4.验证函数是否有返回值,如下图:
        验证函数返回值
    • null

      • null介绍:
        null与undefined有点相像,但是又不全像,null表示空,表示此处不应该有值;

      • null的典型用法:
        1.赋值给某个变量,释放它的内存,如下图:


        释放内存
    • null与undefined的区别
      1.两者除了数据类型外几乎没有区别(数据类型不同);

      两者数据类型
      2.强制转换成数字时,undefined转化成NaN,null则是0;
      两者转化数字

    七、对象(object)

    • JS对象介绍
      对象是指无序数据的集合,由若干键值对构成,它的值可以使任意的数据类型包括对象自身,下图是一个对象:

    • 读取对象值的方法
      1.obj.key:


      2.obj['key']:

    相关文章

      网友评论

        本文标题:JS中的数据类型简介

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