JS原型继承四步曲及原型继承图一览
作者:红莲灿世 发布时间:2024-06-13 14:56:04
标签:js,原型继承
一:js原型继承四步曲
//js模拟类的创建以及继承
//动物(Animal),有头这个属性,eat方法
//名字这个属性
//猫有名字属性,继承Animal,抓老鼠方法
//第一步:创建父类
function Animal(name){
this.name = name;
}
//给父类添加属性方法
Animal.prototype.eat = function(){
console.log(this.name + " eating...");
}
//第二步:创建子类
function Cat(name){
Animal.call(this,name);
}
//第三步:确定继承的关系
Cat.prototype = Object.create(Animal.prototype);
//第四步:改造构造器
//改变了某个构造器的原型之后,紧接着的代码一定是改构造器
Cat.prototype.constructor = Cat;
Cat.prototype.zhualaoshu = function(){
console.log(this.name + " 抓 老鼠");
}
var mao = new Cat("猫");
mao.eat();
mao.zhualaoshu();
二: 原型继承图
下图辅助理解
练习提巩固理解、
函数Foo的__proto的值等于Foo.prototype,对吗? | 不对 |
Object的prototype可以修改吗?能与不能原因是什么 | 不可以 |
顶级constructor是谁? | Function() |
顶级原型对象是谁? | Object.prototype |
对象的construtor成员是个属性还是个方法? | 方法 |
Function有没有__proto__,为什么?值等于Object.prototype吗? | 有,是Function.prototype; |
所有的构造器的__proto__都等于其对应的prototype | 不对 |
创建类形式的继承的四部曲是什么? | 创建父类——>创建子类——>确定继承关系——>改构造器 |
Function的constructor与prototype值可以修改吗? | 可以 |
Object.prototype === Object.__proto__吗? | 不对 |
Function.prototype === Function.__proto__吗? | 是 |
function F(){}; var f1 = new F();f1.__proto__ === Object.prototype吗? | 不对 |
来源:http://www.cnblogs.com/sunduge/archive/2017/11/27/7906185.html


猜你喜欢
- 1.下载Linux对应的RPM包http://dev.mysql.com/downloads/mysql/5.6.htmlwget http
- 但灵活应用CSS会有给人眼前一亮的感觉! 以下用一个简单的例子来阐述我想说的。 CSS代码: #nav li ul { display:no
- 上节我们了解了图形验证码的识别,简单的图形验证码我们可以直接利用 Tesserocr 来识别,但是近几年又出现了一些新型验证码,如滑动验证码
- php获取域名的google收录示例function get_index($domain){ $url="http://www.g
- 上一篇中,我们已经打开了Django自带的用户认证模块,并配置了数据库连接,创建了相应的表,本篇我们将在Django自带的用户认证的基础上,
- 昨天晚些时候微信团队发布了微信小程序开发者工具、微信小程序开发文档和微信小程序设计指南,全新的开发者工具,集成了开发调试、代码编辑及程序发布
- ASP里两种常用的生成文件的方式是:利用ADODB.Stream生成文件和利用Scripting.FileSystemObject生成文件1
- 案例故事:大部分带彩色屏幕的终端设备,不管是手机,车机,电视等等,都需要涉及图片的显示,作为一名专业的多媒体测试人员,我们需要一堆的规范化标
- vue-property-decorator这个组件完全依赖于vue-class-component.它具备以下几个属性:@Componen
- 摘要:本篇博客将详细介绍如何使用YOLOv5进行车牌识别模型的训练与评估。我们将搭建训练环境、准备数据、配置模型参数、启动训练过程,以及使用
- 前言:多态的实现必须满足两个前提条件1.继承:多态一定是发生在子类和父类之间2.重写:多态子类重写了父类的方法记住这两点再结合代码示例有助于
- TensorFLow能够识别的图像文件,可以通过numpy,使用tf.Variable或者tf.placeholder加载进tensorfl
- 本文实例讲述了Python基于numpy灵活定义神经网络结构的方法。分享给大家供大家参考,具体如下:用numpy可以灵活定义神经网络结构,还
- 可能接触网站与编程设计的人都知道,一个属性值需要引号包括起来,但是有的时候就是因为没有正确设定引号类型,导致程序出错,就连我自己也是这样,我
- 一、要求较小的精度将精度高的浮点数转换成精度低的浮点数。1.round()内置方法round()不是简单的四舍五入的处理方式。>>
- 引起这个的原因大概是现安装了.Net Framework后装的IIS导致.Net没有在IIS里注册。 在网上找了很久都是说从.net命令行工
- 前段时日微软(Microsoft)正式发布了.NET Core 2.0,在很多开发社区中反响不错。但还是有一些开发者发出了疑问,.NET C
- 前言最近在回答问答python区的问题的时候,发现很多人对于这个break和continue分不清。所以,今天我就写篇文章来讲一下(绝对不是
- 本文介绍MySQL数据库中执行select查询语句,查询指定列的数据,即指定字段的数据。再来回顾一下SQL语句中的select语句的语法:S
- 这些数据容易的通用操作都有哪些?除了数据的增删查改(除了tuple不可变长度和元素不可变),我们还需要下面的操作:比较比对操作计算元素数量把