对原型模式简单的理解!

我们创建的每个函数都会有一个prototype原型属性,这个属性是一个指针,指向了一个对象,这个对象就是原型对象,该对象的用途包含可以由特定类型的所有的实例共享的属性和方法。 按照字面意思理解就是,那么prototype就是通过调用构造函数而创建的那个对象实例的原型对象。 使用原型对象的好处就是让所有的对象实例共享它所包含的属性和方法。 换句话说就是不必在构造函数中定义对象实例的信息,而是将他们添加到原型对象中。

//构造函数
function Person(){
}
//原型对象
Person.prototype.name = '张志坤';
Person.prototype.age = 23;
Person.prototype.job = 'computer';
Person.prototype.sayName = function(){
	alert(this.name);
};
/*
调用构造函数创建对象,该对象具有相同的属性和方法,这些属性和方法是所有实例共享的,
即person1和person2访问的是同一组属性和同一组sayName()函数
*/
var person1 = new Person();
person1.sayName();
var person2 = new Person();
person2.sayName();
alert(person1.sayName === person.sayName);    //true


Person是一个构造函数,Person Prototype是原型对象,person1、person2是对象实例。

猜你喜欢

转载自blog.csdn.net/weixin_42068855/article/details/83781296
今日推荐