This指向问题
来源:6-4 this 有几种赋值情况

小怪兽ing
2021-08-09
老师您好,这里我有一个问题
var name = 'xiaowang',age = 17
var obj = {
name:'xiaozhang',
objAge:this.age, //17,this代指window
myFun(){
console.log(this.name+"age"+ this.age)//this代指对象
}
}
您之前讲过,作为对象方法被调用,返回对象本身,我知道MyFun里面代指的对象obj本身,this.name也是xiaozhang
但是为什么objAge里面this就是window了?
写回答
2回答
-
weixin_慕设计4572181
2021-10-24
首先你这个myFun方法是定义在对象里面的,所以只有obj才能调用,所以this.age就是obj里面的age属性,但是obj没有age属性,所以输出undefined
this只在调用那一刻确定
var name = 'xiaowang',age = 17 var obj = { name:'xiaozhang', age:18 , myFun:myFun } function myFun(){ console.log(`name:${this.name},age:${this.age}`) } myFun() //name:xiaowang,age:17 obj.myFun() //name:xiaozhang,age:18
10 -
双越
2021-08-09
你的代码相当于
var t = this var obj = { objAge: t.age }
132021-08-10
相似问题