zoukankan      html  css  js  c++  java
  • this指向问题

    普通函数:

    1.this指向直接调用该函数的对象,例如:obj.fn obj调用fn函数,该this为obj对象。

    2.如果没有直接调用对象,该this在严格模式下指向为undefind,默认模式下该this指向为window对象。

    3.使用call,apply,bind绑定的this,this指向绑定的对象。

     var obj = {
         num:1,
        func: function() {
           console.log(this.num)
       },
       say: function () {
         var that = this;   //此时的this就是obj对象
         setTimeout(function () {
           console.log(this)  // 该this为window对象   如果使用箭头函数this就指向obj
           that.func()
         });
       }
     }
     obj.say();

    箭头函数:

    箭头函数没有自己的this, 它的this是继承而来; 默认指向在定义它时所处的对象(宿主对象),而不是执行时的对象, 定义它的时候,可能环境是window; 箭头函数可以方便地让我们在 setTimeout ,setInterval中方便的使用this

  • 相关阅读:
    AVL平衡二叉树
    算法集锦(二)
    算法集锦(一)
    选择问题 and 字谜游戏问题
    TF-IDF与余弦相似性的应用
    一致性哈希算法
    Cache缓存
    布隆过滤器
    信号
    设置用户ID和设置组ID
  • 原文地址:https://www.cnblogs.com/dujunfeng/p/8825093.html
Copyright © 2011-2022 走看看