经常看到匿名函数里用到this.   是不是匿名函数都需要用this的?

解决方案 »

  1.   

    可以參考這篇:Dhttp://blog.darkthread.net/blogs/darkthreadtw/archive/2009/03/11/4346.aspx
      

  2.   


    (1)白话版:this始终指向当前调用this所在函数的对象。
    (2)术语版:this为函数的当前作用域。
      

  3.   

    this在函数中是指作用域,
      

  4.   

    this指的是你当前函数的对象!
    比如
    <script type="text/javascript">
    var a=20;
    function (){
          var a=10;
         this.a 指的就是20
    }
    </script>
      

  5.   

    function 少些了函数名!
    <script type="text/javascript">
    var a=20;
    function say(){
      var a=10;
      this.a 指的就是20
    }
    </script>
      

  6.   


    他们在忽悠你呢,^_~........一句话:匿名函数里用的this===window,你“经常看到匿名函数里用到this”是在定义全局对象(变量),“匿名函数”并不“都需要用this的”。
    (function(){alert(this===window)})()
      

  7.   

    1.html 中inline元素, <div onmousrover='this '></div>    这里this,代表当前div
    2.function a{ //this}  这里this代表window对象
    3. var vDiv=document.getElementById("#1");
        vDiv.onmouseover=function()
        {this.style.backgroundColor='red';}     //此处this,代表这个div元素
    4. function a(){ this.name='a'}, a.property.ToString(){ this.a}   常见几种,还有很多,望大家指点
        
              
      

  8.   


    这样其实会误导大家的,比如
    第2点关于function a中的this,可能就有很多种情况:
    (1)window对象,如果它在全局作用域中被调用,比如 a();不在任何函数和中时
    (2)任意obj对象,比如obj.prototype.a = function a() {//这里的this是obj}
    (3)function a对象自己 比如 var obj = new a;总结性的话如前面发言
      

  9.   

    this关键字是包含它的函数作为某个对象的方法被调用时的那个对象。