原型继承中对象的问题

<script>
    function Parent() {
        this.data={a1:'a1'}
        this.show=function () {
            console.log(this.data)
        }
    }
    function Child(){
        this.set=function () {
            this.data['a2']='a2'   //改变原型中的对象
            this.data='d' //改变当前对象的data,并不能改变 原型上面的 data
        }
    }
    //所有的原型都是指向同一个对象,(引用的同一个对象),改变则所有的改变
    Child.prototype = new Parent()
    var child1 = new  Child()
    var child2 = new  Child()
    child1.set()
    //   this.data['a2']='a2'   //改变原型中的对象,指针的形式
    //   this.data='d' //改变当前对象的data,并不能改变 原型上面的 data
    //   不能改变原型上面的属性值,只能改变原型什么属性对应的应用中的值
    child2.show()
    //   对象中不含this.data,返回原型上面的data,因为指向的是同一个原型,所有打印 {a1:'a1',a2:'a2'}
    console.log('child1',child1)
    console.log('child2',child2)
</script>

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值