首页 > 代码库 > js面向对象-prototype

js面向对象-prototype

  在js中每个其实也是一个对象,他们对应的类是Function,每个函数对象都有一个子对象prototype,这个子对象表示了一个类的成员集合,当通过new来实例化一个对象

时,prototype中的成员都会成为实例化对象的成员。如下例子:

function class1(){}

class1.prototype.method=function(){alert("测试");};

class1 cl=new class1();

cl.method();

会弹出提示框“测试”。

由此可以发现,prototype的成员成了cl的成员。

 

但是需要注意的是class1 cl=new class1();这句代码要写在class1.prototype.method之后。

prototype对构造器的引用:

function class1()

{

alert("我是构造函数");

}

class1.prototype.constuctor();

 

在举个例子:

function b(){
this.innerobject="cc";
}
b.staticP="1";
b.prototype.methoned=function () {
};
var newb=new b();
//利用反射来便利newb的成员
for(var j in newb)
{
alert(j+":"+newb[j]);
}
会弹出对话框:
innerobject:cc和
methoned:function(){}
证明,prototype的成员成了b
的成员。
over!!!


 

js面向对象-prototype