码迷,mamicode.com
首页 > Web开发 > 详细

js面向对象-prototype

时间:2017-08-02 00:36:41      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:new   function   ati   对话框   class   object   prototype   obj   对话   

  在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

标签:new   function   ati   对话框   class   object   prototype   obj   对话   

原文地址:http://www.cnblogs.com/yiyeyiye/p/7271337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!