通过平常的使用简单总结了一下不同形式的函数调用下this的指向,函数的调用形式决定了this的指向。就简单分析一下以下几种情况:
情况一:纯粹的函数调用
eg: var x=1;
function fuc3(){
//this代表window
alert(this.x)
}
fuc3()
情况二:作为对象方法的调用
eg:p.innerHTML = "hello";
p.onclick = function(){
alert(this.innerHTML);
}
情况三:作为构造函数调用
eg:function Test(){
this.x = 1;
}
var obj = new Test();
alert(obj.x);
注:就是通过这个函数生成一个新对象(obj),这时this就指这个新对象。
情况四:类式继承里 call() 与 apply()调用
call(this) apply(this,arguments)
希望能互相学习,交流经验,互相关注。