zoukankan      html  css  js  c++  java
  • javascript 中的 this

    不管是直接引用function,还是实例化一个function,其返回的闭包函数里的this都是指向window

    此时的that代表的是实例化的对象!
    详细出处参考:http://www.jb51.net/article/26982.htm
    <script type="text/javascript">
    //在function中使用this之四
    function a() {
    alert(this == window);
    var that = this;
    var func = function() {
    alert(this == window);
    alert(that);
    };
    return func;
    }
    var b = a();
    b();
    var c = new a();
    c();
    </script>

    另一个例子:

    其实可以这样总结:在this所在的函数上下文中,如果这个函数不是以“方法”的形式被调用的话,那么这个this会指向window对象,否则会指向这个函数的拥有者。


    var name = 'hong'
    var obj = {
    name: 'ru',
    getName: function(){
    return function(){
    return this.name;
    };
    }
    }
    alert(obj.getName()());

    结果为 'hone';


    var name = 'hong'
    var obj = {
    name: 'ru',
    getName: function(){
    var that = this;
    return function(){
    return that.name;
    };
    }
    }
    alert(obj.getName()());

    结果为:ru

    详细出处参考:http://www.jb51.net/article/25050.htm

  • 相关阅读:
    Java8-Stream-No.10
    Java8-Stream-No.09
    Java8-Stream-No.08
    Java8-Stream-No.07
    Java8-Stream-No.06
    Java8-Stream-No.05
    Java8-Stream-No.04
    Java8-Stream-No.03
    Java8-Stream-No.02
    Java8-Stream-No.01
  • 原文地址:https://www.cnblogs.com/lin3615/p/3543600.html
Copyright © 2011-2022 走看看