原型和原型链

简单地理解原型和原型链

        // 原型是一个对象,是一个__proto__的对象
        //原型链就是一种链是的结构,通过原型对象的层层调用
        //本例子从打印往上看;找毛衣的顺序:个人-->商店(可惜没有,指导到超市)-->超市(超市挂载了“毛衣”)
        function Supermarket(){};
        Supermarket.prototype.product = "毛衣";

        //person.__proto__ === Supermarket.prototype
        function Shop(){};
        Shop.prototype = new Supermarket();

        // 默认person.__proto__ === Shop.prototype
        var person = new Shop();

        console.log(person.product);//通过原型链一层一层往上找

面试的一个简单例子

        // 运用上面的知识轻易解决
        // 问:F的原型上有a,方法吗?
        var F = function(){};

        Object.prototype.a = function(){};//因为原型是一个对象,所以只有a方法
        Function.prototype.b = function(){};//这是一个函数所以没有挂载到F上
        
        var f = new F();
        console.log(f);
posted @ 2020-10-23 11:03  残酷^现实  阅读(89)  评论(0编辑  收藏  举报