包装类型 和值类型 引用类型

 包装类型
    包装类型(引用类型之一)Number Boolean String  用new去创建
    基本数据类型 string (s1 = 'hello')
    1 包装类型中的string
    (1)new String() new创建
    (2)typeof  返回object
     (3) s1 = new String(1,2,3,4)  当有多个参数时 只处理第一个
    (4) s1 = new String(++n,n++,++n) 当有多个参数时,虽然只处理第一个
    但js会把所有的代码执行完毕
    
    s1 = 'hello'             后台操作 s1 = new String('hello')
    s2 = s1.substring(2)             s2 = substring(2)
                                     s1 = null 销毁
    var s3 = 'hello'
        var s4 = new String('hello')
        console.log(typeof(s3));
        console.log(typeo02f(s4));

    2 包装类型 Boolean
        var v1 = false
         var v2 = v1 && true
         console.log(v2);

         var v1 = new Boolean(false)  v1  Boolean对象
        任何object 对象转换为boolean 都为true
        var v2 = v1 && true
        console.log(v1);
        console.log(v2);

        (1)
        v3 = false
        v4 = new Boolean (false)
        typeof(v3)  基本数据类型 Boolean
        typeof(v4)  object

        (2)  instanceof 判断是否是对象实例
        v3 instanceof Boolean   false
        v4 instanceof Boolean   true
    3 包装类型的Number
        var v1 =23
        var v2 = new Number(23)
        typeof(v1)      number
        typeof(v2)        object
        
        v1 instanceof Number    false
        v2 instanceof Number    true
 值类型和引用类型
    1 值类型传递采用基础的数据类型 string number boolean null undefined
        存储在栈内存中
        占据的空间是固定的
    2 引用类型采用的是地址传递,Array Function Object
        堆中存储的一般都是对象,通过一个地址编号(引用指针)传递给栈内存变量
        读取数据 -- 通过地址编号(16进制  地址编号存放在栈内存中)到堆内存中找数据块 放到堆内存空间不固定的
        占据的空间是不固定的
    值传递
    // var a = 2
        // function fn1 (x){
        //     x=4
        // }
        // fn1(a)
        // // alert(a)     ---2

    引用类型地址
        var a1 = [1,2,3]
        function fn2(x){
            x[0] = 50
        }
        fn2(a1)
        alert(a1)   ---50,2,3

    3 拆箱与装箱
    装箱:将值类型包装为对应的引用类型对象
    var a = 12
    b = new Number(12)  ---装箱

    拆箱:将引用类型对象拆成值类型包装  valueof()
    c = new Number(23)
    var d = c.valueOf()
    typeof(d)    --- number

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值