1.自执行函数中的this是window:
1 var obj = {
2 fn: (function () {
3 console.log(this);//this-->window
4 return 12;
5 })()
6 };
2.给元素的事件绑定方法,当触发事件执行时,方法中的this是当前的元素:
1 oDiv.onclick=function(){
2 //this-->oDiv
3 }
3.不管函数在哪执行,如果函数名之前有".",则"."前面是谁,this就是谁,没有的话this就是window:
1 var innerHTML = "我是window";
2 var obj = {
3 innerHTML: "我是obj",
4 fn: fn
5 };
6 fn();//this-->window
7 obj.fn();//this-->obj
4.当我们通过构造函数模式创建一个类时,这个类中的this是当前创建的实例。
1 function Fn() {
2 this.a = 12;
3 this.b = function () {
4 console.log(this.a);
5 };
6 }
7 var f1 = new Fn;//this-->f1
8 //f1.b();//this-->f1