在js中我们创建的每一个函数都有一个prototype(原型)属性,这个属性其实就是一个指针,它指向一个对象,而这个对象的用途是包含可以有特定的所有实例共享的属性和方法。从字面意思来说,prototype就是通过调用构造函数的那个对象实例的原型对象。
如下面的例子1所示:
function Person(){}
Person.prototype.name = "Nicholas";
Person.prototype.age="29";
Person.prototype.job="Software Engineer";
Person.prototype.sayName = function(){
alert(this.name);
};
var person1 = new Person();
person1.sayName(); //"Nicholas"
var person2 = new Person();
person2.sayName(); //"Nicholas"
alert(person1.sayName == person2.sayName);
在这个例子中,我们不需要在构造函数中定义对象实例的信息,直接将信息添加到了原型对象中,这里的构造函数为空构造函数了。后面还会为大家介绍一种简单的原型语法。
要理解原型模式,我们必须要理解什么是原型对象。
一、