卖坚果的怪叔叔 卖坚果的怪叔叔
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 工具箱
  • 关于
首页 › 技术 › JavaScript之继承(未完待续)

JavaScript之继承(未完待续)

坚果大叔
2019-06-11 17:36:53技术阅读 742

文章目录[隐藏]

  • 1. 原型链继承
  • 2. 构造函数继承

JavaScript之继承(未完待续)-卖坚果的怪叔叔

1. 原型链继承

从父级上继承,但是有个问题,如果有多个子类同时继承一个父类,如果改变其中一个子类,其余子类也会跟着改变,这种情况就和数组对象的浅拷贝一样。

function parents(){
    this.name = ['fuqin']
}

parents.prototype.getName = function() {
    console.log(this.name)
}

function child(){}

child.prototype = new parents()

let child1 = new child()

child1.getName() // ['fuqin']

let child2 = new child()

child1.name.push('haha')

let child3 = new child()

child1.getName() //  => ['fuqin', 'haha']
child2.getName() //  => ['fuqin', 'haha']
child3.getName() //  => ['fuqin', 'haha']

2. 构造函数继承

改进了原型链继承的缺点,不会因为某个实例的更改而导致所有继承实例的变化,但是也有它的缺点就是每次创建实例都会创建一遍方法。

function parents(){
    this.name = ['brother']
}

function child(){
    parents.call(this)
}

let child1 = new child()
let child2 = new child()

child1.name.push('haah')

let child3 = new child()

console.log(child1.name) // => ['brother', 'haah']
console.log(child2.name) // => ['brother']
console.log(child3.name) // => ['brother']

// 在构造函数继承中还可以通过call()传递参数

function parents(name){
    this.name = name
}

function child(name){
    parents.call(this,name)
}

let child1 = new child('hh,我是1')
let child2 = new child('hh,我是2')

child1.name // => 'hh,我是1'
child2.name // => 'hh,我是2'


微信扫描下方的二维码阅读本文

继承
赞赏 赞(0)
本文系作者 @坚果大叔 原创发布在 卖坚果的怪叔叔。未经许可,禁止转载。
周末,天气很棒,瞎溜达
上一篇
周末出游
下一篇
近期文章
  • ant-design-vue a-select 下拉滚动的时候出现数据重复
  • ant-design-vue a-checkbox-group 追加数据后第一个无法选中
  • 5.1游记
  • 将数组中空值字段赋默认值!
  • 周末出游,惊喜相伴——水牛的美丽邂逅。
ant-design-vue a-select 下拉滚动的时候出现数据重复
2023-05-15 14:49:38
91 1 0
ant-design-vue a-checkbox-group 追加数据后第一个无法选中
2023-05-13 15:13:43
149 0 0
将数组中空值字段赋默认值!
2023-04-25 14:49:11
182 0 0
数字跟文字一起被强制换行了?
2023-04-07 17:25:04
254 0 0
  • 0
博主

一枚佛系前端开发,会一丢丢摄影,喜欢折腾,爱好美食。分享点前端技巧、笔记以及各种有趣的APP和资源教程♥♥

友链
Lieme
公众号
坚果大叔 执行上下文 卖坚果的怪叔叔
Copyright © 2017-2023 卖坚果的怪叔叔

萌ICP备20230818号 苏ICP备18048410号-2
  • 首页
  • 技术
  • 生活
  • 记录
  • 朋友
  • 常用代码
  • 工具箱
  • 关于
# WordPress # # CSS #
坚果大叔
243
文章
65
评论
186
喜欢