老师好,请教一个问题
来源:5-10 【TS继承准备】寄生组合继承实现方式【最佳继承模式】-2

目訫
2022-03-08
function _extends (parent, son) { function Middle () { console.log(this); this.constructor = son } Middle.prototype = parent.prototype return new Middle() }
老师您看上面的代码,这里面的this指向的到底是谁,打印的是和new Middle一样,但不是很理解,还有是谁调用了new Middle(),麻烦老师讲解一下
写回答
1回答
-
同学,看下下面的小例子,你就能明白为什么上面的this是 new Middle出来的对象
function People(name, sex, phone) {
console.log('this:', this)
//父类 【父构造函数】
this.name = name
this.sex = sex
this.phone = phone
}
let p = new People() // 这样是创建对象, People函数是一个构造函数,内部的this就是p对象
console.log('p:', p)
People('kk', '23', '23') // 这样调用 浏览器下运行 this就是Window对象
00
相似问题