美文网首页
JS中的数据类型

JS中的数据类型

作者: jackie季 | 来源:发表于2018-08-06 14:57 被阅读0次

    七种数据类型

    JS语言中每一个值都属于某一种数据类型,JS共包括七种数据类型,string、number、boolean、undefined、null、object、symbol(ES6新增,暂不涉及)

    简单&复杂数据类型

    简单数据类型有string、number、boolean、undefined、null,object是复杂的数据类型
    它还分为三个子类型:狭义的对象(object),数组(array),函数(function)

    typeof运算符

    可以通过typeof运算符知道某个值属于什么数据类型,它返回的值有以下七种:
    'string'、'number'、'boolean'、'undefined'、'symbol'、'function'、'object'
    注意:typeof null返回的是 ‘object’,typeof 函数返回的是 ‘function’

    数据类型介绍

    null和undefined

    两者都表示‘没有’的意思,区别是null表示一个空的对象,转为数值时为0,undefined表示‘此处未定义’,转为数值时为NaN

    null == undefined  //true
    null === undefined  //false
    

    布尔值

    布尔值有两种状态,true和false,在JS中档某个位置预期是一个布尔值时,会自动将该位置的值转换为布尔值,以下六种值会转换为false:
    undefined、null、false、0、NaN、""或''(空字符串)
    注意:空数组([])和空对象({})布尔值为true

    数值

    在JS中所有数字都以64位浮点数进行储存,包括整数
    由于浮点数不是精确的值,所以涉及小数的运算要注意:

    0,1 + 0.2 === 0.3  //false
    0.3 / 0.1 === 3  //false
    

    数值大小和精度:
    JS浮点数的64个二进制位从左到右依次代表:
    第1位:符号位,0代表整数,1代表负数
    第2~12位:指数部分,共11位
    第13~64位:小数部分(有效数字),共52位
    符号位决定了数值的正负,指数部分决定了数值的大小,小数部分决定了数值的精度
    数值大小范围:2^1024 ~ 2^-1023,正向溢出时返回infinity,负向溢出时返回0
    数值精度范围:-2^53 ~ 2^53,精度范围外的运算会出错

    数值的进制:
    十进制(没有前缀)、八进制(前缀0o或0O)、十六进制(前缀0x或0X)、二进制(前缀0b或0B)

    字符串

    放在单引号或双引号中间的字符
    转义符‘\’用来表示一些特殊的字符:
    \n :换行符,\r :回车键,\t :制表符,' :单引号," :双引号,\ :反斜杠
    字符集:
    JS中使用Unicode字符集,允许在程序中是Unicode码点,输出时会自动转成字面形式
    每个字符在JS中以16位(2个字节)的UTF-16格式存储,但UTF-16包括两种长度,有16位(U+0000→U+FFFF,2个字节)和32位(U+10000→U+10FFFF,4个字节),JS只能识别2个字节的字符,4个字节的会识别成两个字符
    Base64转码:
    可以将任意值转换为09、AZ、a~z、+、/ 这64个字符组成的可打印字符

    对象

    1.对象是一组无序的键值对的集合
    2.对象的所有键名都是字符串
    3.对象的属性读取可以采用点运算符和方括号运算符,如果使用方括号运算符,键名要放在引号里面,不带引号的当作变量处理,如果使用点运算符,点后面的就是字符串
    4.属性查看可以用Object.keys(obj)方法来查看
    5.属性删除 delete obj.p //true
    删除可删除属性或不存在的属性时返回true,不能删除继承的属性
    6.属性是否存在 'p' in obj
    不能区分属性时对象本身的还是继承的,可以用hasOwnProperty方法确认
    7.属性遍历 for (var key in obj)
    它遍历的是对象所有可遍历的属性,会跳过不可遍历的属性
    它不仅遍历对象自身的属性,还遍历继承的属性,可以结合hasOwnProperty使用

    相关文章

      网友评论

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

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