当前位置: 代码迷 >> Web前端 >> 一看就清楚的关于this解释
  详细解决方案

一看就清楚的关于this解释

热度:170   发布时间:2012-11-05 09:35:11.0
一看就明白的关于this解释
this其实就是指当前这个方法或者属性属于的对象。
1、如果直接是var fun = function(){statement},那么这个函数体属于window这个对象的。因此this==window
2、如果使用了var fun = new FunctionName(),那么此时this,就是由构造函数FunctionName生成的对象,上例子:

 window.a = "hello world";
 var fun =function(){
                         alert(this.a);
                       }; 
 
 var o = { a : "fucking world" };

 
 fun();//第一条
 fun.call(window);//这里把window对象赋值给函数中的this,此时this即为window。
 window.fun();//这里利用window对象去调用属于window对象的函数,这里的this当然就是window(第一条)。
 fun.call(o);//这里把o对象赋值到函数中的this,此时this即为o。
 o.fun(); //会报错,因为o对象并没有一个叫fun的方法。


我想只要调试了这个例子,this是什么应该算会清楚一些吧。
  相关解决方案