javascript本身没有类这一概念,所谓的类都是我们通过函数模拟出来的,总结三种常规的类的定义方式。
(一)最常规方式定义类方法和属性,示例代码如下
function Person(myName,myAge){
this.name=myName; //实例方法和属性
this.age=myAge;
this.setInfo=function(){
alert("name="+this.name+" age="+this.age);
}
}
Person.prototype.showInfo=function(){ //静态方法
alert("嗨,我是"+this.name+",现在"+this.age+"岁了!");
}
可以通过new运算符来生成实例:var person1=new Person("kity","20");生成实例后即可调用类Person的实例方法,访问类Person的实例属性,静态方法和静态属性直接通过Person即可调用。
(二)使用Object和return语句为类定义方法和属性
function Person(myName,myAge){
return {
name:"jhon",
age:15,
showInfo:function(){
alert("嗨,我是"+this.name+",现在"+this.age+"岁了!");
}
};
}
使用new运算符生成实例,即可调用方法,并访问属性。
(三)使用object和prototype为类定义方法和属性
function Person(){
Person.prototype={
name:"jhon",
age:15,
showInfo:function(){
alert("嗨,我是"+this.name+",现在"+this.age+"岁了!");
}
}
};
仍然是使用new运算符生成实例。