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();
------------------------------
//定义一个类,用的是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();
相关文章推荐
- 网站前端_JavaScript-基础入门.0015.JavaScript面向对象
- Javascript面向对象
- JavaScript面向对象入门
- 全面理解面向对象的 JavaScript
- javascript 面向对象(六)原型的特性和作用
- JavaScript面向对象的一个例子
- javaScript 面向对象-继承(三)
- JavaScript-基础入门.0015.JavaScript面向对象
- javascript面向对象--封装特性
- JavaScript 学习笔记【一】——面向对象的写法分析
- javascript中面向对象的三大作用
- 面向对象的javascript-引用、作用域、闭包、上下文--(1)
- JavaScript面向对象的支持(4)
- IT忍者神龟之理解回顾面向对象的 JavaScript
- 浅谈JavaScript中的面向对象
- Javascript基础知识篇(2): 面向对象之接口实现
- JavaScript 面向对象之构造函数+成员函数详解
- Javascript--面向对象(三)接口
- javascript面向对象
- Atlas与面向对象的Javascript