【JavaScript】原型与继承

1、JavaScript面向对象的几个概念

(1)对象,即键值对
(2)方法,即值为函数的属性
(3)原型,即对象继承实体

2、原型继承

JavaScript基于原型继承,原型就是一个对象,继承是在原型对象的基础上进行的
prototype即为原型,他是函数的属性,函数也是对象(原型就是函数的prototype属性)
有继承与没有继承的比较
没有继承

var Person=function(){
	this.say=function(){
		alert("您好");
	};
};
var p1=new Person();
var p2=new Person();
p1.say();
p2.say();

这种不使用继承的方法的结构图
在这里插入图片描述
使用继承的

var Person=function(){
};
Person.prototype={
	    say:function(){
		alert("您好");
	}
};
var p1=new Person();
var p2=new Person();
p1.say();
p2.say();

这样使用原型继承的结构图
在这里插入图片描述

3、继承关系

对象有原型,那么原型也是对象,原型也有原型
所有对象的都来自与Object(Object是函数,object是类型)的对象
所有的函数都来自与Function对象
所有的函数是对象,继承自Function.prototype
obj是对象,继承自Object.prototype
Function是对象,是函数,继承自Function.prototype
Function.prototype是对象,继承自Object.prototype
Object.prototype是对象,继承自null
简单表示
函数—>Function—>Funtion.prototype—>Object.prototype—>null

4、成员的访问规则

该成员在这个类型中寻找该成员的定义,如果存在,就直接使用该成员,如果不在当前类型中,就访问其原型,找到就用,找不到就继续向上找,以此类推,直到null。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值