zoukankan      html  css  js  c++  java
  • JS数据类型

    JS中的7+2中数据类型及区别

    基础数据类型

    • number
    • string
    • boolean
    • null
    • undefined
    • symbol
    • bingint

    引用数据类型

    • object
    • function

    数据类型检测

    • typeof 检测数据类型的逻辑运算符
    • instanceof 检测是否为某个类的实例
    • constructor 检测构造函数
    • Object.prototype.toString.call 检测数据类型

    tyoeif [value] 返回当前的数据类型 “数据类型”
    返回的结果都死字符串
    局限性

    • typeof null = "object"
    • tyoeof undefined = "undefined"
    • typeof 不能细分对象类型(检测普通对象或者数组对象都是"object")

    number类型

    • NaN:不是一个有效数字,属于number类型,NaN != NaN,他和谁都不相等 typeof NaN = "number"
    • isNaN(值):检测这个值是否为无效数字,如果不是有效数字返回TRUE,是有效数字返回FALSE
    • infinity: 无穷 属于number类型

    把其他数据类型转换为数字的方法

    • 强转换(基于底层机制转换的)Number([value]
      一些隐式转换都死基于Number完成的
      • isNaN('12px')先把其他类型转换为数字在检测
      • 数学运算 '12px' - 13
      • 字符串 == 数字
      • true 1 false 0
      • null 0 undefined NaN
      • 字符串中必须保证都是有效数字才会转换为数字,否则都是NaN
    • parseInt处理的值是字符串,从字符串的左侧开始查找有效数字字符(遇到非有效数字字符则停止查找),如果处理的值不是字符串,需要先转换为字符串然后再开始查找。

    +运算符

    再两边出现字符串(或者对象)的情况下,加号一定是字符串拼接 ,对象本身是要转换为数字进行运算的,只不过转换数字的过程中,需要先转换为字符串,才能转化为数字,而一旦转换为字符串,就变为字符串拼接了

    console.log(100 + true + 21.2 + null + undefined +"Lemon" + [] + null + 9 + false)
    

    ->NaNLemonnull9false

    • 100 + 1(true) + 21.2 + 0(null) -> 122.2 number
    • 122.2 + NaN(undefined) -> NaN number
    • NaN + 'Lemon' + '' + 'null' + '9' + 'false' -> >NaNLemonnull9fa;se

    比较运算符

    • == 在进行比较的时候,如果左右两边数据类型不一致,则需要先默认转换为一致的数据类型,然后在进行比较
    • === 绝对相等,两边类型一致,值也一致才相等,类型不一样,直接不对等,不会转换

    == 规则

    • 对象 == 字符串 对象转换为字符串
      [10] == '10' true
    • null == undefined(三个等于号不相等),但是和其他任何的值都不想等
      0 == null false 0在内存中开辟空间, null没有在内存中开辟空间
      NaN和谁(包括自己)都不相等
      剩下的情况都转换为数字在做比较

    把其他类型转换为布尔型遵循的规则

    只有

    • 0
    • NaN
    • null
    • undefined
    • ""
      这五个值是false(仅限JS引擎)
  • 相关阅读:
    mysql dns反说明的成绩
    Solaris 11 安装图解(1)
    Meld 1.1.5
    Open Movie Editor-视频编纂器
    Solaris 11 装配图解(6)
    Pidgin 2.0.2
    Subversion 1.4.4 发布
    Solaris 11 安装图解(5)
    Solaris 11 安置图解(3)
    HTML 实体盘诘东西
  • 原文地址:https://www.cnblogs.com/xiaoxu-xmy/p/13633528.html
Copyright © 2011-2022 走看看