当前位置: 首页 > 知识库问答 >
问题:

JavaScript“this”关键字和箭头函数

厍书
2023-03-14

在这里,箭头函数中的这个关键字指向obj的变量环境

null

var greeting = 'hi';

const obj = {
  greeting: 'hey',

  fo() {
    const greeting = 'hola';
    
      const arrowFo = () => {
        console.log(this.greeting);
      };

      arrowFo();
  },
};

obj.fo(); //logs: hey

null

null

var greeting = 'hi';

const obj = {
  greeting: 'hey',

  fo() {
    const greeting = 'hola';

    const fo2 = function () {
      const greeting = 'hello';

      const arrowFo = () => {
        console.log(this.greeting);
      };

      arrowFo();
    };
    fo2();
  },
};

obj.fo(); //logs: hi

null

共有1个答案

昌招
2023-03-14

箭头函数的作用域中没有this值,因此您可以访问对象的this值。但是普通函数在其作用域中有这个值,这个示例this的普通函数值是globalThis或window。如果您使用对象的this值调用fo2而不是globalThis,则它允许您访问全局作用域

js prettyprint-override">var greeting = 'hi';

const obj  = {
  greeting: 'hey',

  fo() {
    const greeting = 'hola';

    const fo2 = function () {
      const greeting = 'hello';

      const arrowFo = () => {
        console.log(this.greeting);
      };

      arrowFo();
    };
    fo2.call(this) // Use this instead of fo2()
  },
};


 类似资料:
  • 关于箭头函数中this的指向问题 在箭头函数中,this引用的是定义箭头函数的上下文。示例代码按理来说应该打印两次window,但结果是一次window,一次obj。 问了好多个AI,AI给的结果都是打印两次window。

  • 本文向大家介绍深入理解Javascript箭头函数中的this,包括了深入理解Javascript箭头函数中的this的使用技巧和注意事项,需要的朋友参考一下 首先我们先看一段代码,这是一个实现倒数功能的类「Countdown」及其实例化的过程: 运行这段代码时,将会出现异常「this._step is not a function」。 这是Javascript中颇受诟病的「this错乱」问题:s

  • 问题内容: class App extends Component { constructor(props) { … } 在类中声明的两种函数 (onChange和onSubmit) 之间有什么区别?如果我将其声明为ES6类方法,但在 const url中 引用this.sate时出现错误,但是将其更改为arrow函数可以解决此问题。 我想知道两种情况下如何正确处理“ this” 另外,我该如何做

  • 本文向大家介绍Javascript this 关键字 详解,包括了Javascript this 关键字 详解的使用技巧和注意事项,需要的朋友参考一下 一、this指向构造函数实例化对象 在上篇文章中,我们提到了使用new和不使用new调用构造函数的区别,如下例: 当构造函数当做普通函数被调用时,并没有返回值,同时this指向全局对象。那么我们如何来避免因为缺少new关键字,而产生的问题呢? 在上

  • 本文向大家介绍箭头函数中this指向举例?相关面试题,主要包含被问及箭头函数中this指向举例?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: //输出22 定义时绑定。

  • 涵义 this关键字是一个非常重要的语法点。毫不夸张地说,不理解它的含义,大部分开发任务都无法完成。 前一章已经提到,this可以用在构造函数之中,表示实例对象。除此之外,this还可以用在别的场合。但不管是什么场合,this都有一个共同点:它总是返回一个对象。 简单说,this就是属性或方法“当前”所在的对象。 this.property 上面代码中,this就代表property属性当前所在