javaSrcipt学习笔记 18day ————面向对象编程(原型链的补充)

原型链:对象使用方属性或法的时候  查找这个属性的规则

1、改变前:

  function Person(name,age,sex){
            this.n = name;
            this.a = age;
            this.s = sex;
            Person.prototype.sex ="女"
        }
        let p1 = new Person("小黄",19,"男")
        console.log(p1); 
        console.log(p1.sex);

结果:Person {n: '小黄', a: 19, s: '男'}

2、当this中没有实例对象中对应的属性时:

       function Person(name,age,sex){
            this.n = name;
            this.a = age;
          
        }
        let p1 = new Person("小黄",19,"男")

        console.log(p1); 
        console.log(p1.sex);

结果:Person {n: '小黄', a: 19}

undefind

3、当this中没有对应属性而它所在的原型对象上有该属性时:

        function Person(name,age,sex){
            this.n = name;
            this.a = age;
            Person.prototype.sex ="女"
        }
        let p1 = new Person("小黄",19,"男")
        console.log(p1); 
        console.log(p1.sex);

结果:Person {n: '小黄', a: 19}

女 

4、当你想要找的属性既不存在this中也不存在它所在的原型对象中 ,也不存在Object中的时候。

        function Person(name,age,sex){
            this.n = name;
            this.a = age;
        }
        let p1 = new Person("小黄",19,"男")
        console.log(p1); 
        console.log(p1.sex);

结果:Person {n: '小黄', a: 19}

undefind 

5、当该属性不存在this也不存在它所在全部的原型对象中,但存在Object中时 ,toString是Object中的属性。

        function Person(name,age,sex){
            this.n = name;
            this.a = age;
        }
        let p1 = new Person("小黄",19,"男")
        console.log(p1); 
        console.log(p1.toString);

结果:Person {n: '小黄', a: 19}

ƒ toString() { [native code] } 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值