JavaScript的原型模式

Java46

JavaScript的原型模式

一、函数的prototype 属性

在我们创建的每个函数中,都有一个prototype(原型)属性,这个属性是一个对象,它的用途是来包含可以由特定类型的实例共享的属性和方法。也就是说,不用在构造函数中定义对象信息,而可以将这些信息直接添加到原型对象中,从而可以由该构造函数构造出来的所有对象共享,如:

```javascript;gutter:true;
function Person(){}
Person.prototype.country = "America";
Person.prototype.showCountry = function(){
alert(this.country);
}

var person1 = new Person();
var person2 = new Person();
person1.showCountry();//America
person2.showCountry();//America

```

由上述例子,Person的两个实例person1和person2共享了country属性和showCountry()方法。在上述例子中,构造函数中并没有country属性和showCountry()方法,由其构造的实例person1和person2中自然也不会有country和showCountry()方法,然而两个实例却都可以访问上述属性和方法,其实是访问的原型对象中的country属性和showCountry()方法。

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长