JavaScript组合继承的代码编写顺序

下面用一个老师上课讲的实例来讲解:

// Dog对象

  // 基类
  //     构造函数
  //     name,breed,weight

  // 原型
  //     run() ==> console.log(name + "RUN!!!")
  //     wag() ==> console.log(name + "WAG!!!")

  // 子类--三个对象Fido、Fluffy和Spot
  //     构造函数
  //         继承基类构造函数
  //     原型
  //         info() => console.log("输出信息:name,breed,weight")
  // 在三个对象自定义一个方法
// 4.基类(父类)
//构造函数
function DogType(name,breed,weight){
            this.name = name;
            this.breed = breed;
            this.weight = weight;
        }
 // 5.基类原型
DogType.prototype.run = function(){
            console.log(this.name + "RUN!!!");
        }
DogType.prototype.wag = function(){
            console.log(this.name + "WAG!!!");
        }
//2.子类   
//构造函数
function Dog(name,breed,weight){
     // 3.继承基类构造函数
     DogType.apply(this,[name,breed,weight])
}
// 6.子类继承基类原型
Dog.prototype = DogType.prototype;
// 7.定义子类原型方法
Dog.prototype.info = function(){
            console.log("输出信息:"+this.name+"--"+this.breed+"--"+this.weight)
        }
//1.实例化参数,传参
var fldo = new Dog("fldo","柴犬",38);
var fluffy = new Dog("fluffy","贵宾",38);
var spot = new Dog("spot","吉娃娃",38);
// 8.输出结果
console.log(fldo);
fldo.run();
fldo.wag();
fldo.info();
// 9.对象创建单独方法
fldo.fldoFun = function(){
            console.log("柴犬看门能力。。。")
        }
fluffy.fluffyFun = function(){
            console.log("吸引有钱人。。。")
        }
spot.spotFun = function(){
            console.log("卖萌。。。")
        }
// 10.输出每个对象方法
fldo.fldoFun();
fluffy.fluffyFun();
spot.spotFun();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值