您的位置:首页 > Web前端 > JavaScript

javascript面向对象!~

2012-02-24 14:58 148 查看
创建对象的第一种方式

------------------------------

//定义一个类,用的是function 而不是class

function Class1(){

//定义两个属性了

this.x=1;

var y=345;

//定义一个方法

this.fangfa=function (){

alert("x="+this.x);

alert("y="+y);

}

}

//实例化对象

var cl=new Class1();

//访问对象属性的时候,可以使用[]也可以使用"."

// alert(cl["x"]);

//怎么样访问对象方法?

alert(cl.fangfa());

------------------------------------------------

第二种方式:

var obj=new Object();

例子:

//通过 new Object() 空白的对象

//var obj=new Object();

//定义空白类

function Test(){

}

//实例化

var obj=new Test();

//定义属性

obj.name="凤姐";

obj.age="108";

//定义方法

obj.fangfa=function (){

alert(this.age);

}

alert(obj.fangfa());

----------------------------------------------------

使用prototype的方式向对象中添加属性和方法

1)创建类,比如类名 Test

2)用"类名.prototype"定义新的属性或者是方法

例子:

//定义一个空白的类

function Testpro(){};

//通过prototype向类中添加属性

Testpro.prototype.name="白骨精";

Testpro.prototype.show=function (){

alert(this.name);

}

//实例化

var tp= new Testpro();

alert(tp.name);

--------------------------------------------------

关于私有和公有属性的问题:

用var定义的属性是私有的。我们需要使用this关键字来定义公有的属性

-----------------------------------------------------

虚拟构造方法 举例

//自己虚拟一个构造方法

function Test(){

//定义一个公有的方法

this.init=function (){

alert("Test类已经被初始化,执行虚拟构造函数");

}

//调用自身的init方法

this.init();

}

//实例化

var obj = new Test();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: