谁在调用,this指向谁 事件中 this指向当前对象定时器中 this指向window函数中 this指向window对象中 this指向当前对象 <script> var a="hello"; function foo() { var a="world"; console.log(this.a);//全局作用域函数,this指向window,所以输出hello } foo();//相当于window.foo(),即window在调用函数; console.log(this.a);//全局变量,指向window,输出hello var name="xiaohong"; var obj={ name:"xiaoming", show:function () { console.log(this.name); } }; obj.show();//输出xiaoming,对象obj在调用 var index="1"; var oBtn=document.getElementById('btn'); oBtn.index="2"; oBtn.onclick=function () { console.log(this.index);//输出2 } var index="1"; var oBtn=document.getElementById('btn'); oBtn.index="2"; oBtn.onclick=function () { setInterval(function () { console.log(this.index);//输出1,此时对象oBtn与此方法不在一个作用域,this指向window },100); } </script>