今天小云复习下JS类的继承,以前看《JS高级程序教程》里讲有,平时很少用,都忘记的差不多了,进入话题,上代码。
对象冒充和原链型的方式 <script language=”JavaScript”> //Fruit构造函数 function Fruit(name,home) { //设置属性的值 this.name=name; this.home=home; } //设置Fruit的方法 Fruit.prototype.showHome=function() { alert(this.home); } //Apple构造函数 上面是最好的一种方式,下面的单独使用对象冒充的方式
<script language=”JavaScript”> //Fruit构造函数 function Fruit(name,home) { //设置属性的值 this.name=name; this.home=home; //设置方法 this.showHome=function() { alert(this.home); } } //Apple构造函数 function Apple(color,weight) { //实现继承自Fruit //注销以下三行———–(1)方式———————————— //this.inheritMethod=Fruit; //this.inheritMethod(“Apple”,”china”); //delete this.inheritMethod; //换用如下两行即可 //定义一个参数数组————–(2)方式——————— //var parms = new Array(“apple”,”china”); //Fruit.apply(this,parms); //——————————————–(3)方式———————– Fruit.call(this, “Apple”, “china”); //添加新的属性与方法 this.color=color; this.weight=weight; //添加新的方法 this.showColor=function() { alert(this.color); } } //创建一个Fruit对象 var objFruit = new Fruit(“Orange”,”USA”); //创建一个Apple对象 var objApple = new Apple(“red”,50); objFruit.showHome(); //输出”USA” objApple.showHome(); //输出”china” objApple.showColor(); //输出”red” </script> 下面是原链型的使用
<script language=”JavaScript”> //Fruit构造函数 function Fruit(name,home) { //设置属性的值 this.name=name; this.home=home; //设置方法 this.showHome=function() { alert(this.home); } } //Apple构造函数 function Apple() { } |
|