Javascript自定义类

时间:2021-09-27 15:28:37

JavaScript并不是严格的面向对象的语言,但是带有面向对象的一些特性,我们可以通过这些特性创建js中的自定义类。

JavaScript中的类其实是function关键字包裹的一系列变量和方法。

比如定义一个Car类:

function Car(name,number){
     this.CarName=name;
     this.CarNumber=number;
     this.Run=function(speed){
         alert("汽车以"+speed+"时速行驶。");
     }
}

使用这个类的方法:

var x3=new Car("x3","京A10001");
x3.Run(100);

运行结果:

“汽车以100时速行驶。”

如果想在Car的Run方法中使用Car类中的变量,通常情况下使用this.CarName是获取不到的,此时我们可以在Car中定义一个局部变量让其指向this(指的是Car):

function Car(name,number){
    var thisCar=this;
     this.CarName=name;
     this.CarNumber=number;
     this.Run=function(speed){
         alert("汽车"+thisCar.CarName+"以"+speed+"时速行驶。");
     }
}

再次运行:

var x3=new Car("x3","京A10001");
x3.Run(100);

结果

"汽车x3以100时速行驶。"