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

JavaScript面向对象之类

2012-03-03 17:31 225 查看
提点:

1、JavaScript是HTML辅助作用的弱类型语言,它的对象可以是:声明的变量,函数,{}等等。

2、JavaScript也可以面向对象:因为js语言比较灵活,它提供的函数也可以作为一个对象,通过new 关键字来产生一个实例。

3、实现对属性和方法的封装,最终形成类;类是抽象的,对象是具体的;但是Javascript中可以混合使用,这正体现了Javascript作为编程语言与其他语言比较下的最大优势,以致这种灵活性的编程方式令其他语言望尘莫及。

示例:

/**
*声明一个类似于java的类并添加其属性
*/
var User=function(){
var name='jack';//默认值
var gender='male';//默认值
var age=20;//默认值
this.setName=function(name){
this.name=name;
};
this.getName=function(){
return this.name;
};
this.setGender=function(gender){
this.gender=gender;
};
this.getGender=function(){
return this.gender;
};
this.setAge=function(age){
this.age=age;
};
this.getAge=function(){
return this.age;
};
this.introduceMyself=function(){
alert('Hello!my name is '+this.getName()+",I'm "+this.getAge()+'years old!');
};
}

/**

*其他几种简写方法及调用

*/

//内部类的方法和属性
var people=function(kind,color,life){
this.kind=kind;
this.life=life;
this.color=color;
this.infos=function(){
alert('kind :'+kind+' color: '+color+' life :'+life);
}
}
function description(){
//创建一个实例并调用其方法
new people('America','white',61).infos();
}
//设置一个实体类
function User(){
this.name="Ben";
this.age=21;
this.email="yk_ben@123.com";
this.work='student';
this.sex='man';
}
//实例对象的创建和使用
var user=new User();
//调用实例
function sayHi(){
alert('Hello everyone!I am '+user.name);
}
//为实体对象添加方法
user.info=function(){
var call=user.sex=='man'?'He':'She', alias=user.sex=='man'?'boy':'girl';
alert('This is '+user.name+"'s information: "+call+' is a '+alias+' and '+
call+' is '+user.age+' years old!');
}
function info(){
user.info();
}
user.str=function(){alert(this.name+this.email+this.sex+this.age+this.work);}
function str(){
user.str();
}
//创建无类型类
var teacher={name:'TomShen'};
function seeName(){
alert('Teacher name is '+teacher.name);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: