美文网首页
this 指向问题

this 指向问题

作者: fz_log | 来源:发表于2020-09-29 15:33 被阅读0次

认识function中的this在不同环境下的指向

  1. 全局:浏览器环境中 指向window,node环境:module.exports 指向的是导出对象。
  2. 事件调用环境:谁触发事件,this指向的就是谁。
  3. 函数内部:
    • 1)this的最终指向是调用该函数的对象。
    • 2)被多层对象包含的函数调用,this指向的是调用该函数而且是距离函数最近的外层对象。
    • 3)对象中的函数赋值给一个变量,然后调用,同 1)。
  4. 构造函数:
    使用:var ABC= new fn();
    • new的作用:
      • 1)调用函数
      • 2)自动创建一个对象
      • 3)把创建出来的对象和this绑定
      • 4)如果构造函数没有返回值,隐式返回this
    • 构造函数有return情况:
      • 1)return 对象,this指向对象
      • 2)return 不是对象,this保持和无return规则一样
      • 3)return null,同2)
  5. 箭头函数 this在定义的时候就已经形成(对象不会形成独立的作用域)
    箭头函数是没有this和arguments,在箭头函数调用this是定义的上一层作用域的this
  6. 改变普通函数的this指向
- call(this,a,b,c)  //this是要更改的this指向,a,b,c是参数
- apply(this,[a,b,c])
- bind(this,a,b,c) () //bind默认是没有执行的

相关文章

  • 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 指向问题

    认识function中的this在不同环境下的指向 全局:浏览器环境中 指向window,node环境:modul...

  • this指向问题

    1. 事件调用环境 谁触发的this指向谁 如上代码,分别给box1,box2绑定了clickBox方法,如果点击...

  • this指向问题

    1.预编译过程,this指向window2.全局作用域中,this指向window3.call()、apply()...

网友评论

      本文标题:this 指向问题

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