欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

javascript原型链实例讲解

程序员文章站 2022-05-22 15:17:03
javascript原型链可以保存同一类型的对象的公共属性,这里方法也看成是属性,来看一段代码 function person(name){...

javascript原型链可以保存同一类型的对象的公共属性,这里方法也看成是属性,来看一段代码

        function person(name){
            this.name = name;
        }
        function cart(name){
            this.name = name;
        }
        person.prototype.say = function(){
            alert("hello");
        };
        var p = new person("小明");
        var q = new person("小红");
        var cart = new cart("南博基尼");
        console.log(p);
        console.log(q);
        console.log(cart);

观察三个对象的proto属性,发现p和q都有say方法,而cart中没有say方法,那么证明prototype可以用来指定相同类型的公共属性

//在上面代码的基础上输出
console.log(p.__proto__);

发现输出的对象中有say方法,也就是我们的原型对象,也就是说

前面person.prototype 事实上就是指向了这个对象,然后再.say,也就是给这个对象赋值,添加一个say的属性,那么其他同类型的对象也就拥有了该属性

    //当你这么写时
        console.log(p.__proto__);
        console.log(person.prototype);

你会发现上面两个输出的内容是一样的,也就是说我们可以通过特定的对象拿到它这一类的原型对象,也可以通过person的prototype属性拿到原型对象