JS 里的数据类型

作者: 还是流星拳比较好 | 来源:发表于2018-07-05 01:14 被阅读0次

    JavaScript具备七种数据类型


    • number(数值):整数和小数
    • string(字符串):文本
    • boolean(布尔):true和false
    • null:表示空值 可转化为数值,值为0
    • undefined:表示未定义,不存在 可转化为数值NaN(Not a Number)
    • object(对象):各种键值对组成的集合,除object外均为基础类型
    • symbol:ES6新增的第七种数据类型

    primitivetype(原始类型):number、string、boolean

    JavaScript有三种方法确定一个值是何种类型:
    1)typeof运算符:
        typeof运算符可返回值得数据类型
        数值、字符串、布尔值、null、undefined、symbol、对象分别返回:'number'、'string'、
        'boolean'、'object'、'undefined'、'symbol'、'object'
        例如:typeof 3  //返回"number"
        但有几个比较特殊,函数返回"function",null返回"object",[]返回"object"
    2)instanceof运算符:可用来区分数组与对象
    3)object.prototype.toString方法
    
    1.number(数值)

    JavaScript内部所有数字均以64位浮点数形式储存(由于浮点数不是精确的值,所以涉及小数的比较与运算时需要小心)

    • 整数与小数:1和1.1
    • 科学计数法:1.25E2
    • 二进制: xb11
    • 八进制:011(后来ES5添加了0o11语法)
    • 十六进制:0x11
    parseInt():将字符串转为整数
        如果遇到不能转换的便不再进行下去,返回已转好的部分
        如果字符串第一个字符不能转换为数字,返回NaN
        如果其中有第二个参数,例如10,即十进制转十进制
        parseInt('1000', 10)  //十进制转十进制,结果为1000
        parseInt('1000', 2)  //二进制转十进制,结果为8
        parseInt('1000', 8)  //八进制转进制,结果为512
        parseInt('1000', 16)  //十进制转十进制,结果为4096
    parseFloat():将字符串转为浮点数,会将空字符串转为NaN
    isNaN():判断值是否为NaN
    isFinite():返回布尔值,表示某值是否为正常数
    
    2.string(字符串)
    • 空字符串:''(空字符串的length为0)
    • 多行字符串:
      1.在每一行末尾使用使用反斜杠\(反斜杠后不能有任何空格或字符)
      2.将长字符串分为多块字符串:'123' +'234' + '345'
      3.ES6中增加使用反引号`123`形式可写多行字符串(换行时缩进与回车都会包含在字符串中)
    转义:
    \0 :null
    \b :后退键
    \f :换页符
    \n :换行符
    \r :回车键
    \t :制表符
    \v :垂直制表符
    \' :单引号
    \" :双引号
    \\ :反斜杠
    
    3.boolean(布尔)

    boolean取值时只有两个值:true和false
    a && b :在 a 和 b 都为 true 时,取值为 true;否则为 false(&&:与)
    a || b :在 a 和 b 都为 false 时,取值为 false;否则为 true(||:或)

    4.null和undefined

    null和undefined均表示什么也没有(没有值)

    • (语法规范)如果一个变量没有被赋值,那么这个变量的值就是 undefiend
    • (惯例)如果想要表示一个还没赋值的对象,就用 null。如果想要表示一个还没赋值的非对象(字符串/数字/布尔/symbol),就用 undefined
    5.object(对象)
    1.object 是复杂类型,是上面几种基本类型(无序地)组合(以键值对的形式key-value)在一起
    2.object 里面可以有 object
    3.object 的 key 一律是字符串,不存在其他类型的 key
    4.object[''] 是合法的,空字符串也可以当做object的key
    5.object['key'] 可以写作 object.key
    6.object.key 与 object[key] 不同
    7.创建对象有三种方法:
      var o1 = {};
      var o2 = new object();
      var o3 = Object.create(Object.propotype);
    8.object.keys()方法可以查看对象本身的所有属性
    9.delete命令用于删除对象属性(只能删除对象本身属性,无法删除继承的属性):delete object['key']
    10.in运算符用于检查对象是否包含某属性(检查键名):'key' in object
       但是in运算符无法识别属性是对象自身的还是继承的
    

    相关文章

      网友评论

        本文标题:JS 里的数据类型

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