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