美文网首页
this 关键字指向问题

this 关键字指向问题

作者: FConfidence | 来源:发表于2018-01-21 15:56 被阅读11次

this关键字

js中this代表的是当前行为执行的主体, js中context代表的就是当前行为执行的环境
this是谁和函数在哪儿定义的以及在哪儿执行的都没有或任何关系, 只和执行主体有关

  • 函数执行, 首先看函数前面是否有".", 前面是谁, this就是谁, 没有的话指向全局对象global
  • 自执行函数中的this,永远是window
  • 给元素的某一个事件绑定方法, 当事件触发的时候, 执行对应的方法, 方法中的this是当前元素
       // 第一种情况
       function fn() {
           console.log(this)
       }
    
       var obj = {fn:fn}
    
       fn(); // window
       obj.fn(); // // obj
    
       function sum() {
           fn()
       }
       sum() // window
    
       // 第二种情况
       var oo = {
           sum: function() {
               console.log('this in sum', this)
               fn();
           }
       }
       oo.sum(); // this in sum=oo, window
    
       // 第三种情况 fn中的this指的是当前点击Node对象
       document.getElementById('#div').onclick = fn;
    
       document.getElementById('#div').onclick = function() {
           console.log(this); // 这个this指的是 当前div Node对象
    
           // 自执行函数
           fn(); // fn中的this指的是window
       }
    
       // 第四种情况: 在构造函数当中(类), 出现的this.property = property 这里的this指的是当前类的实例
       function Person(name) {
           this.name = name;
       }
       var p1 = new Person('ffff') // 创建p1的时候 this指p1
       var p2 = new Person('dddd') // 创建p2的时候 this指p2
    

相关文章

  • this 关键字指向问题

    this关键字 js中this代表的是当前行为执行的主体, js中context代表的就是当前行为执行的环境thi...

  • lambda 和 匿名内部类的区别 this

    this关键字 匿名类匿名类的this关键字指向匿名类 lambda表达式lambda表达式的this关键字指向包...

  • 看懂js中this关键字的指向问题

    this总是指向函数的直接调用者(而非间接调用者);如果有new关键字,this指向new出来的那个对象;在事件中...

  • this指向问题

    首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上...

  • this指向问题

    简单一句话来说,this的指向不是在创建时候决定的,而是调用的时候,谁调用就指向谁。 在严格模式下,未指定坏境,而...

  • this指向问题

    三种解决方案 第一种,bind(this)来改变匿名函数的this指向 第二种,var _this= this 第...

  • this指向问题

    一、一般情况 所以用定时器时,一般提前将this保存,便于在定时器内部使用 二、改变this指向 call、 a...

  • this指向问题

    要彻底理解JS中的this指向问题,建议多结合一些相关的面试题,理解记忆,不必硬背 关于this问题:只需记住谁调...

  • this 指向问题

    日期:2019 年 9 月 5 日 this 指向问题 介绍 this 指向问题一直是 js 中一个令人头疼的问题...

  • this指向问题

网友评论

      本文标题:this 关键字指向问题

      本文链接:https://www.haomeiwen.com/subject/lrxqaxtx.html