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时速行驶。"