js继承和原型以及原型链

 

继承

继承  是指一种关系,是类与类之间的关系, 但是js中没有类这个概念,js是通过构造函数模拟类. 然后通过原型 来实现继承
继承也是为了数据共享

原型作用之一: 数据共享,节省内存空间
原型作用之二: 为了实现继承

继承实例讲解:
列子:人,都有姓名,性别,年龄,吃饭,睡觉,玩.....
学生,都有姓名,年龄,性别,吃饭,睡觉,玩,学习,成绩......
    function Person(name,sex,age){
        this.name=name;
        this.age=age;
        this.sex=sex;
    }  
    // 将人类  共有的方法  可以写入在 原型中
    Person.prototype.eat=function(){};
    Person.prototype.sleep=function(){};
    Person.prototype.play=function(){};
   js继承基于对象
   在JavaScript中,继承就是当前对象可以使用其他对象的方法和属性。

原型继承是指利用原型中的成员可以被和其相关的对象共享这一特性,可以实现继承

1.给原型对象中添加成员(通过对象的动态特性)不是严格意义上的继承

2.直接替换原型对象

3.利用混入得方式 给原型对象添加成员

 

function Person(name,age){
		this.name=name;
		this.age=age;
	}
	Person.prototype.sayHi=function(){
		console.log('Hey man');
	}
	var  parent={
		sayHello:function(){
			console.log('我想死你了');
		}
		
	};
	for(var k in parent){
		Person.prototype[k]=parent[k];
	}
	var p=new Person('冯巩',50);
	p.sayHello();
	// 也是实现了继承  p继承自原型对象

原型链:

每个构造函数都有原型对象// 创建一个构造函数  都会默认的创建一个 构造函数的原型
    每个对象都有构造函数
    每个构造函数的原型都是一个对象
    那么这个原型对象也会有构造函数
    那么这个原型对象的构造函数也有原型对象
    这样就会形成一个链式结构,称之为 原型链

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值