原型的方法优先级

2020-09-06  本文已影响0人  小李不小

我们会遇到这种情况,就是对象方法名字和原型添加的方法名字是一样的,这样取一个方法呢,下面我们来看看这种场景

1 该方法未添加原型方法

let hd={
        'name':'123',
        show(){
            console.log('show1')
        },
    }

    hd.show()

结果,原型里面没有方法,只取到了当前等级的方法


image.png

1 该方法添加原型方法了

let hd={
        'name':'123',
        show(){
            console.log('show1')
        },
    }

    hd.__proto__.show=function(){
        console.log('show2')
    }

        console.log(hd)
    hd.show()

结果:只执行了当前的方法,未执行原型添加的方法。
列子说明:
自己的方法,相当于自己买的东西,原型的添加方法,相当于你爸爸买的东西,自己有了,自然不会取找你爸爸了,当前找到了,自然不会取原型上找了。

image.png
上一篇 下一篇

猜你喜欢

热点阅读