文档章节

es5 的类继承

itwriter
 itwriter
发布于 2016/11/28 17:13
字数 179
阅读 58
收藏 0
点赞 0
评论 0
function Shape(x){
 this.x = x;
}
Shape.prototype.show = function(){ console.log("Father X:",this.x || "")};

function Rectangle(x){
 Shape.call(this,x); // 类似面向对象语言的super()方法,可传多个参数
}
Rectangle.prototype = Object.create(Shape.prototype); // 作用类似于面向对象的extends关键字
Rectangle.prototype.show = function(){ console.log("Son X:",this.x || "")};// 复写父类方法
new Rectangle(12).show();

网上关于es5类继承的资料,原理倒是洋洋洒洒的一大堆,还给了各种继承写法,但demo跑起来多数有点问题。

综合各篇文章和官方资料,现在这个写法应该足够简单(重要的只有那三行注释代码),也提到了如何传参和复写,放到chrome控制台里就能跑起来。

参考:

Object.create()

Function.prototype.call(this)

© 著作权归作者所有

共有 人打赏支持
itwriter
粉丝 11
博文 105
码字总数 22803
作品 0
海淀
程序员
ES5和ES6中的继承 图解

Javascript中的继承一直是个比较麻烦的问题,prototype、constructor、proto在构造函数,实例和原型之间有的 复杂的关系,不仔细捋下很难记得牢固。ES6中又新增了class和extends,和ES5搅在一...

钱天兵 ⋅ 2016/06/21 ⋅ 0

js es6 类的使用

声明和定义 es5 声明一个构造函数: es6 声明一个类: 以上两者相比之下,很可以看出,es6类函数比es5构造函数,代码量更少,并且结构层次更加简洁明了。 有些地方需要注意的是: es5存在变量...

阿豪boy ⋅ 02/16 ⋅ 0

ES5和ES6中的继承

ES5 ES5中的继承,看图: ES5中这种最简单的继承,实质上就是将子类的原型设置为父类的实例。 ES6 ES6中的继承,看图: 所以 ES6和ES5的继承是一模一样的,只是多了class 和extends ,ES6的子...

WolfX ⋅ 2016/06/03 ⋅ 0

es6基本语法

ES6是javascript的下一个版本,也叫做ECMAScript 2015,相对于es5,es6添加了许多新的特性,语言语法更加规范了,es6的出现使javascript步入了编程语言的正规军行列里,很多公司都逐渐使用es6...

马大哈tt ⋅ 2017/12/23 ⋅ 0

ES6的学习(一)

箭头函数 与函数表达式相比,箭头函数有更短的语法。

黑天很黑 ⋅ 2017/02/20 ⋅ 0

浅谈JavaScript中的继承

近期,公司的业务处于上升期,对人才的需求似乎比以往任何时候都多。作为公司的前端,有幸窥探到了公司的前端面试题目,其中有一题大概是这样的(别激动,题目已经改了) 请用你自己的方式来...

lanzhiheng ⋅ 05/29 ⋅ 0

《深入理解ES6》笔记—— JavaScript中的类class(9)

ES5中的近类结构 ES5以及之前的版本,没有类的概念,但是聪明的JavaScript开发者,为了实现面向对象,创建了特殊的近类结构。 ES5中创建类的方法:新建一个构造函数,定义一个方法并且赋值给...

zdhsoft ⋅ 2017/07/31 ⋅ 0

Es6 Class是如何实现的?

在Es5中没有类的概念,在将类之前我们首先要说一下类的继承 类的继承 类有三种属性,,公有属性,私有属性, 静态属性(Es7)/静态类(Es6) 如何实现一个类 继承公有属性 继承私有属性 继承...

dlzhao ⋅ 05/29 ⋅ 0

如何继承Date对象?由一道题彻底弄懂JS继承。

前言 见解有限,如有描述不当之处,请帮忙及时指出,如有错误,会及时修正。 ----------长文+多图预警,需要花费一定时间---------- 故事是从一次实际需求中开始的。。。 某天,某人向我寻求...

⋅ 01/15 ⋅ 0

React/React Native 的ES5 ES6写法对照表

很多React/React Native的初学者都被ES6的问题迷惑:各路大神都建议我们直接学习ES6的语法(),然而网上搜到的很多教程和例子都是ES5版本的,所以很多人在学习的时候连照猫画虎都不知道怎么做...

freecsdn ⋅ 2016/09/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 31分钟前 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

vim编辑模式、vim命令模式、vim实践

vim编辑模式 编辑模式用来输入或修改文本内容,编辑模式除了Esc外其他键几乎都是输入 如何进入编辑模式 一般模式输入以下按键,均可进入编辑模式,左下角提示 insert(中文为插入) 字样 i ...

蛋黄Yolks ⋅ 昨天 ⋅ 0

大数据入门基础:SSH介绍

什么是ssh 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码...

董黎明 ⋅ 昨天 ⋅ 0

web3j教程

web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 汇智网最新发布的web3j教程,详细讲解...

汇智网教程 ⋅ 昨天 ⋅ 0

谷歌:安全问题机制并不如你想象中安全

腾讯科技讯 5月25日,如今的你或许已经对许多网站所使用的“安全问题机制”习以为常了,但你真的认为包括“你第一个宠物的名字是什么?”这些问题能够保障你的帐户安全吗? 根据谷歌(微博)安...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部