zoukankan      html  css  js  c++  java
  • this,call,apply

    除去不常用的 with 和 eval 的情况,具体到实际应用中, this 的指向大致可以分为以下 4种。
     作为对象的方法调用。
     作为普通函数调用。
     构造器调用。
     Function.prototype.call 或 Function.prototype.apply 调用

    this的坑

    window.name = 'globalName';
    var myObject = {
        name: 'sven',
        getName: function(){
            return this.name;
        }
    };
    var getName = myObject.getName;
    console.log( getName() ); // globalName

    有时候我们会遇到一些困扰,比如在 div 节点的事件函数内部,有一个局部的 callback 方法,
    callback 被作为普通函数调用时, callback 内部的 this 指向了 window ,但我们往往是想让它指向
    该 div 节点

    <html>
    <body>
        <div id="div1">我是一个 div</div>
    </body>
    <script>
        window.id = 'window';
        document.getElementById( 'div1' ).onclick = function(){
            alert ( this.id ); // 输出:'div1'
            var callback = function(){
                alert ( this.id ); // 输出:'window'
            }
            callback();
        };
    </script>
    </html>

    可以定义 var that = this; 用于保存 div 节点的引用

  • 相关阅读:
    详解softmax函数以及相关求导过程 (转载自知乎)
    每日算法
    每日算法
    每日算法
    每日算法
    每日算法
    广度优先搜索算法
    java实现fp-growth算法
    频繁项集挖掘之Aprior和FPGrowth算法
    频繁项集挖掘之apriori和fp-growth
  • 原文地址:https://www.cnblogs.com/luguiqing/p/7198382.html
Copyright © 2011-2022 走看看