在函数中分配全局变量

时间:2018-02-08 01:04:57

标签: typescript

嗨,我对打字稿和javascript非常陌生,所以如果这很简单,我很抱歉。 如果我在功能中控制过滤器它是正确的但在该功能之外它没有被分配。我知道这是一个范围问题,我不知道为什么或如何解决。

var filter: string;

  input.addEventListener("keydown", (e) => {
    const target: any = e.target;
    const filterString = target.value;
    filter = filterString;
    console.log(filter); // text from input block
  });
  console.log(filter); // nothing output

1 个答案:

答案 0 :(得分:2)

根据您的代码:

var filter: string;

  input.addEventListener("keydown", (e) => {
    const target: any = e.target;
    const filterString = target.value;
    filter = filterString;
    console.log(filter); // text from input block
  });
  console.log(filter); // nothing output
当代码在事件filter发生之前运行时,

keydown为null,因此最后一行的日志实际上正在工作,它输出为null。

尝试在事件发生后记录过滤器,查看promise