【问题标题】:How to access Argument object inside arrow function如何在箭头函数中访问 Argument 对象
【发布时间】:2017-11-02 06:05:10
【问题描述】:

listOfArg 函数中的 arguments 对象通过箭头函数引用父 arguments。如果没有箭头函数,this 键引用将发生变化,listOfArg 函数将不再通过 this 变化访问。

componentDidMount(){
      document.addEventListener('scroll', this.onScrollEvent);
  }

listOfArg = () => {
    console.log(arguments)
  }

onScrollEvent = (e) => {
     this.listOfArg("1", "2", "3", "4")
}

【问题讨论】:

  • 请在此处更具体地说明您想要实现的目标
  • 你的问题到底是什么?
  • 使listOfArg 成为正常函数不会阻止onScrollEvent 箭头函数访问其this 值?!

标签: javascript reactjs ecmascript-6


【解决方案1】:

来自MDN Docs

箭头函数没有自己的this;使用封闭执行上下文的 this 值。

如果你使用

listOfArg = () => {
    console.log(arguments)
}

现在,如果你不使用箭头功能:

listOfArg() {
  console.log(arguments)
}

在这里,listOfArg 将拥有自己的 this,并将打印调用它的参数:["1", "2", ...],这是预期的。

【讨论】:

    猜你喜欢
    • 2019-01-31
    • 2019-01-27
    • 2016-08-11
    • 2017-12-13
    • 2018-02-07
    • 2021-01-04
    • 1970-01-01
    相关资源
    最近更新 更多