博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何用es5实现继承
阅读量:6195 次
发布时间:2019-06-21

本文共 847 字,大约阅读时间需要 2 分钟。

extend (继承)

如何用 es5 实现继承

Father.prototype = {    eat:function(){        console.log(this.name+' eat something.')    }}function Father(name) {    this.name = name    this.attr = "father's attr."}function Super() {    this.constructor = Child}Super.prototype = Father.prototypeChild.prototype = new Super() // 继承父类的原型方法function Child() {    Father.apply(this, arguments) // 继承父类的属性    this.attr = "child's attr"}复制代码

测试

var child = new Child('Foo')console.log(child,child.attr)console.log(child instanceof Child, child instanceof Father)child.eat()console.log(child.newAttr)Father.prototype.newAttr = '123'console.log(child.newAttr)console.log(Child.prototype.constructor === Child)复制代码

结果

Child { name: 'Foo', attr: 'child\'s attr' } 'child\'s attr'true trueFoo eat something.undefined123true复制代码

转载于:https://juejin.im/post/5c13ad836fb9a049f23ca4e6

你可能感兴趣的文章
sql server 老外博客
查看>>
<html>
查看>>
Java数据结构和算法(四)——栈
查看>>
读《人类简史》 | 一本很值得读的书
查看>>
验证 Swarm 数据持久性 - 每天5分钟玩转 Docker 容器技术(104)
查看>>
java配置好jdk-bash: /usr/bin/java: No such file or directory
查看>>
osg做的路面项目
查看>>
java.lang.NumberFormatException: For input string: "${jdbc.maxActive}"
查看>>
Linux下Shell的复制粘贴快捷键
查看>>
[RK3399][Android7.1] 调试笔记 --- 模块编译32位动态库【转】
查看>>
【译】Flink + Kafka 0.11端到端精确一次处理语义的实现
查看>>
物联网 MQTT 服务质量级别
查看>>
Serv-u只开放21端口连接不上解决方案
查看>>
简单的图像显著性区域特征提取方法-----opencv实现LC,AC,FT
查看>>
干货!教您快速恢复回收站清空的文件
查看>>
译: 2. RabbitMQ Spring AMQP 之 Work Queues
查看>>
DedeCMS织梦文章页图片地址为绝对路径实现方法
查看>>
Mysql 密码过期
查看>>
使用 functional interface 和 lambda 表达式来优化代码
查看>>
小白鼠与毒药
查看>>