function Woman(name){
//继承了People
People.call(this); //People.call(this,'wangxiaoxia');
这里的this指向window,为什么能改变people中this的指向为Woman?
this.name = name || 'renbo'
}
let womanObj = new Woman();
求解谢谢
function Woman(name){
//继承了People
People.call(this); //People.call(this,'wangxiaoxia');
这里的this指向window,为什么能改变people中this的指向为Woman?
this.name = name || 'renbo'
}
let womanObj = new Woman();
求解谢谢
哈哈哈,还是让我来回答一下吧家人们
首先,如果是这样子的话,如下面代码
function Woman(name){
Person.call(this)
console.log(this)
}
//如果直接使用Woman方法,即Woman(),那么this确实会指向windows
//--------------------------
//但是家人们,我们一般不会直接这么用Woman方法的,既然我们一开始的目的是,借用构造方法完成js的继承,借用完构造方法接下来干嘛?
//哎对啦,生成子类实例,如下
let womanObj = new Woman()
//这个步骤有什么问题??大问题!!
//new关键字会改变this指向,指哪,Woman好吧,因为new它,this就会指向他,所以在内部写call(this)指向woman本身,而不指向window