美文网首页
note021js里的类型

note021js里的类型

作者: slTrust | 来源:发表于2018-01-05 00:01 被阅读0次

    类型转换

    toString()

    var a = 1;
    var b = true;
    var c = {};
    var d = null;
    var e = undefined;
    a.toString() // "1"
    b.toString() // "true"
    c.toString() // "[object Object]"
    d.toString() // 报错
    e.toString() // 报错
    //老司机怎么把不同类型变成字符串的
    a + ''   //  "1"
    b + ''  //  "true"
    c + ''  //  "[object Object]"
    d + ''  //  "null" 
    e + ''  //  "undefined"
    
    //智障写法  不同类型是不能 + 的  
    // + 如果发现左右任意一边有字符串  就会把另一边转为字符串
    1 + '1'    //  字符 "11"    相当于  (1).toString() + '1'
    1 + 1  // 数字 2
    
    //变成字符串常用的方法是 与空字符串相加  ‘’+
    //除此之外 你可以 window.String(一个变量)   与  ‘’+ 一样
    

    Boolean()方法

    Boolean(1) // true
    Boolean(2) // true
    Boolean(0) // false
    Boolean('') //  false
    Boolean('  ') // true
    Boolean('21321') // true
    Boolean({a:11,b:22})  // true
    Boolean({}) // true
    //老司机
    !! true   //true
    !! 1  // true
    !! 0  // false
    !! '' // false
    !! ' ' //true
    !! {} //true
    !! null // false
    !! undefined //false
    
    类型转换

    5个特殊值 Falsy

    number string boolean symbol null undefined object
    0 NaN '' null undefined

    转为number类型

    5种方式如图


    类型转换

    考点

    parseInt('011') // 11
    parseInt('011',8) // 9
    parseInt('011',10) // 11
    parseInt('s') // NaN
    parseInt('1s') // 1

    内存图

    内存分为代码区和数据区 chrome为程序划分100M内存

    数据区

    栈 && 堆 数据区

    简单示例 内存分配过程

    引用 复杂类型存的是引用

    示例

    测试1
    • 测试2
      测试3

    self 指向自己

    测试3

    很贱很贱的面试题

    面试题

    垃圾回收

    GC 如果一个变量没有被引用==>它就是垃圾 ==> 将被回收

    var a = {name : 'a'}   // 分配内存地址 33
    var b = {name : 'b'}   // 分配内存地址 60
    a = b  // a 的内存地址  = b 的内存地址 ==> 60
    // a原来的地址 33所占用的内存空间  就是  垃圾
    

    深拷贝 && 浅拷贝

    var a = 1;
    var b = a;
     b = 2 ;//  b变 a 不变  就是深拷贝(基本类型的赋值都是深拷贝)
    

    要考虑的是 复杂类型 的深拷贝

    var a ={ name :'a'}
    var b = a ;
    b.name = 'b';   //这导致   a.name也变了  (浅拷贝)
    

    复杂类型深拷贝的概念(这里没有实现)


    面试题

    相关文章

      网友评论

          本文标题:note021js里的类型

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