1. 程式人生 > >原型繼承中對象的問題

原型繼承中對象的問題

指針 所有 .sh 什麽 images pre arp con light

<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>

  

技術分享

原型繼承中對象的問題