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

JS 里的数据类型

作者: BOB_BI | 来源:发表于2019-02-26 16:16 被阅读0次

    数据类型

    基本数据类型

    1.基本数据类型
    -number string boolean(原始类型)
    -undefined null (特殊)
    -symbol(es6)
    2.typeof检测基本数据类型
    typeof null //'object'
    typeof fn() //'function' (应该是object)
    3.undefined 与null的区别(都是空)
    undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
    null:表示空值,即此处的值为空。
    -变量没有赋值——undefined
    -一个对象object,暂时不想给值——null
    一个非对象,暂时不想给值——undefined

    // 函数没有返回值时,默认返回 undefined
    function f() {}
    f() // undefined
    

    4.布尔值
    转换规则:除了下面六个值被转为false,其他值都视为true。(falsy值)
    -undefined
    -null
    -false
    -0
    -NaN
    -""或''(空字符串)

    对象

    对象类型是合成类型,可分为三个子类型:
    -对象object
    -数组array
    -函数function
    对象——哈希表
    1.删除一个key

    -delete obj.name 
    'name' in person    // false
    obj.name               //undefined
    -obj.name = undefined
    'name' in person    //true
    obj.name               //undefined
    

    2.for in 遍历

    for(var key in obj){
    console.log(key, person[key])  //打印出obj的所有键和值
    }
    

    var o3 = Object.create(Object.prototype); 可以创建一个对象
    var o2 = new Object(); 可以创建一个对象
    var obj = {
    '3+3': 'A',
    '6': 'B'
    }
    请问 obj[3+3] 的值为'B'
    Object.keys(obj) 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in 循环遍历该对象时返回的顺序一致 。

    var s1 = {}
    var s2 = new object()
    console.log(s1)       //{}
    console.log(s2)       //{}
    s1 === s2                  //false  分别申明,地址不一样
    

    类型转换

    变string

    1.toString()
    null不可
    undefined不可
    2.+ ''
    null + '' //'null'
    undefined + '' //'undefined'
    object + '' //{object object}
    3.window.String()
    null, undefined可

    变boolean

    1.boolean(null)
    2.!!null

    变number

    1.Number()
    2.parseInt('111', 10/进制)
    parseInt('1s') //1
    parseInt('s') //NaN
    3.parseFloat()

    1. 'xxx' - 0
      5.取正+ ‘xxx’ +'-1' //-1

    相关文章

      网友评论

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

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