我如何从回调函数的外部范围使用变量[duplicate]

问题描述 投票:0回答:1

此问题已经在这里有了答案:

我如何使用函数外部作用域中的变量。我在这里创建了这个简单的示例

var view = {
    init(){
    const targetOne = document.querySelector(".targetOne"); 
    const targetTwo = document.querySelector(".targetTwo"); 
    var val = "outer scope";

    targetOne.addEventListener('click', (e) => {
      console.log('target one', val)

    });
    targetTwo.addEventListener('click', this.handleEvent);
  },

  handleEvent(e) {
        console.log('targetTwo ', val);
    }
}

view.init(); 

JS小提琴链接:https://jsfiddle.net/jr7b521x/50/

对于targetOne回调,我可以使用变量val,但是当我为targetTwo回调定义函数时,该变量val不在范围内定义。我觉得我在这里缺少一些非常简单的东西,我刷新了作用域链接和闭包,但无法获得它]

我如何使用函数外部作用域中的变量。我在这里创建了这个简单的示例var view = {init(){const targetOne = document.querySelector(“。targetOne”); const ...

javascript html closures
1个回答
0
投票

变量val在init()函数的范围内

© www.soinside.com 2019 - 2024. All rights reserved.