JavaScript----原型对象

原型对象

在说原型对象之前要明白几个单词的意思:
prototype (原型,雏形,蓝本) constructor (构造器)
不解释,先上关系图.
这里写图片描述
这就是他们之间的关系。用另一种方式解释一下prototype:
每一个函数都有一个prototype属性,这个属性其实是一个指针,二这个指针总是指向一个对象。这个对象的用途就是将特定的属性和方法包含在内,起到一个所有实例所共享的作用。
再用代码的角度来解释。

function Person(){
        var obj = Person.prototype;
        obj.name = 'yfh';
        obj.age = 18;
        obj.sayName = function(){
            console.log(this.name);
        }
    }
    var person1 = new Person();
    var person2 = new Person();
    alert(person1.sayName == person2.sayName);//true

再用另一个图解释一下
这里写图片描述
总结一下:
构造函数的.prototype = 原型对象
原型对象.constructor = 构造函数
实例对象.__proto__ = 原型对象

猜你喜欢

转载自blog.csdn.net/yufanhui/article/details/81228133