js函数中的this指向问题:(this对象是在运行时基于函数的执行环境绑定的)
与普通变量获取不同,内部函数在搜索this和arguments这两个变量时,只搜索到其活动对象为止,所以this无法像普通变量一样传递到内部函数中。
1.当函数作为对象的方法被调用时,this指向该对象
var a={
name:‘小韩‘,
getname:function(){
console.log(this.name);
}
}
a.getname(); //小韩
2.当函数作为匿名函数调用时候,this指向全局window
3.特殊情况,用call,apply来改变this指向
var b={
name:"小王"
}
a.getname.call(b); //小王
时间: 2024-10-08 10:08:55