js中的原型(prototype)属性

利用原型添加属性和方法

首先我们创建一个构造器函数:

function Gadget(name,color){
	this.name=name;
	this.color=color;
	this.whatAreYou=function(){
		return "I am a "+this.color + " "+this.name;
	};
};

添加属性和方法的另一种形式,通过构造器函数的prototype属性来增加该构造器所能提供的功能,prototype 属性包含的是一个对象。

Gadget.prototype.price=100;
Gadget.prototype.rating=3;
Gadget.prototype.getInfo=function(){
	return "Rating: "+this.rating+", price: "+this.price;
};

使用原型的方法和属性

使用后输出为

原型的实时性

在JavaScript中,几乎所有的对象都是通过传递引用的方式来传递的,因此我们所创建的每个新对象实体中并没有一份属于自己原型的副本。这也就意味着我们可以随时修改prototype属性,并且由同一构造器创建的所有对象的prototype属性也都会同时改变(甚至还会影响修改之前已经创建的那些对象)。如下所示:

猜你喜欢

转载自blog.csdn.net/u012773082/article/details/87965638