刚学习js的时候,写过一篇有关于原型的博客,借鉴于他人的理解
什么是原型?
原型是一个对象,其他对象可以通过它实现属性继承。
可以把函数看成一个类,原型是所有类都有的一个属性,js原型的作用就是给这个类的每一个对象都添加一个统一的方法,看一下下面这段代码就能轻易理解
<script>
//声明一个类
function Person(name,age)
{
this.name=name;
this.age=age;
}
//使用原型给类添加方法
Person.prototype.show=function()
{
alert("我叫"+this.name+",今年"+this.age);
}
//创建两个对象
var person1 =new Person('张三',20);
var person2 =new Person('李四',23);
//调用原型里面的方法
person1.show();
person2.show();
</script>
如果仅仅是因为一个实例而使用原型是没有多大意义的,这和直接添加属性到这个实例是一样的。假如我们创建了一个实例对象,我们想要要继承一个对象已经存在的功能,比如Array,我们可以像下面这么做:
var a = {};
a.__proto__ = Array.prototype;
a.length;
原型真正的魅力体现在多个实例共用一个通用原型的时候;