美文网首页饥人谷技术博客
20 进阶:JS里的数据

20 进阶:JS里的数据

作者: Ga611 | 来源:发表于2018-12-04 20:25 被阅读1次

    七种数据类型

    number,string,boolean,symbol,undefined,null,object(function,array,object)

    number

    JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此

    1+.1 //1.1
    1.23e3 //1230
    1.23e-1 //0.123
    

    octonary八进制前缀:0O,0o,0(且后面只跟0~7)
    hexadecimal十六进制前缀:0X,0x
    binary二进制前缀:0B,0b

    string

    每个字符在 JavaScript 内部都是以16位(即2个字节)的 UTF-16 格式储存。也就是说,JavaScript 的单位字符长度固定为16位长度,即2个字节。
    多行字符串表示:

    ES6:
    let a=`1234
    5678`
    a.length //9,包含回车
    

    null,undefined

    两者区别:
    变量未赋值时其值是undefined
    (?)存在一个对象,暂不想赋具体值时 ,赋值null;存在一个非对象,暂时不想赋具体值时,赋值undefined

    object

    object键名永远为string或symbol,不加引号时,键名会自动转为字符串,且键名要符合标识符规范
    是无序的键值对

    属性读取:
    obj.p === obj['p'] //obj[p]里的p不加引号时表示为变量
    //使用[]时键名要放在引号里,否则被当成变量(数字除外,且数字必须放在[]里)
    常用方法:
    delete obj[key]  //清楚键和值
    key in obj  //  false "in"返回boolean,key应为字符串
    for(let  key in obj){obj.hasOwnProperty(key)}
    //使用for...in的时候,应该结合使用hasOwnProperty方法,在循环内部判断一下,某个属性是否为对象自身的属性,返回boolean
    
    Object.keys(obj) //['key1','key2',...]
    
    

    typeof

    两个特殊点:
    typeof f(){}  //'function'
    typeof null //'object'
    
    易错

    相关文章

      网友评论

        本文标题:20 进阶:JS里的数据

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