【问题标题】:Can you use parent function variables inside a returned function in javascript?你可以在 javascript 的返回函数中使用父函数变量吗?
【发布时间】:2019-12-14 00:55:51
【问题描述】:

函数代码如下:

function TestFunction(number){
  return function(e){
    return `${number}`;
  }
}

当我在 google 的 devtools 命令行上使用它时,它会返回:

function(e){
  return `${number}`;
}

所以看起来返回的函数不是使用我提供给 TestFunction 的数字创建的,而是像编写的那样使用字符串。我尝试使用串联而不是插值,但仍然无法正常工作。我能做什么?

【问题讨论】:

  • 函数实际执行时解析number的值。
  • @FelixKling 你说得对,谢谢我不知道

标签: javascript function return


【解决方案1】:

第二个函数周围确实有一个闭包,所以它会记住num是什么。

function a(num) {
  return function b() {
    return `${num}`;
  }
}

const c = a(6);

console.log(c());

【讨论】:

    猜你喜欢
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多