JavaScript继承


继承有助于实现代码的复用。
一个对象通过继承另一个对象,就能拥有另一个对象的所有属性和方法。

原型链继承

子类型的原型为父类型的一个实例对象

   //父类型
   function Person(name, age) {
       this.name = name,
       this.age = age,
       this.play = [1, 2, 3]
       this.setName = function () { }
   }
   Person.prototype.setAge = function () { } //原型对象添加方法
   //子类型
   function Student(price) {
       this.price = price
       this.setScore = function () { }
   }
   Student.prototype = new Person() // 子类型的原型为父类型的一个实例对象,子类型继承父类型的属性和方法 
   var s1 = new Student(15000) //创建子类型实例时不能向父类型传递参数
   var s2 = new Student(14000) //创建两个子类型对象实例
   s1.name='zhangsan';  //子类型实例创建成功后,可以对父类型构造函数进行传参
   s1.age=10;
   console.log(s1,s2)

将子类的原型指向父类的实例,所有子类的实例可以通过__proto__访问到Student.prototype也就是Person的实例,子类型可以访问父类型私有的属性和方法,通过Person实例的__proto__指向父类型的prototype原型对象,子类型可以访问父类型原型方法。
子类型通过原型链继承将父类型的私有属性和原型方法(公有方法)作为子类型的公有属性和方法。
操作基本数据类型是操作数值,操作引用数据类型操作的是地址,当父类型的私有属性中存在引用数据类型,通过继承称为子元素

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值