js面向对象-prototype
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章