【问题标题】:Where does this javascript function get its data?这个 javascript 函数从哪里获取数据?
【发布时间】:2018-03-09 15:11:57
【问题描述】:

我对 javascript 比较陌生。现在,我正试图围绕嵌入式函数和语法看起来很奇怪(我一直错误地试图依靠我的 Java 知识来解决它)但我已经掌握了它。

到目前为止,我确实有一个挂断。我正在查看功能与此非常相似的工作代码:

    function test(){
            return function(d, i) {
               ...
            };
    }

我的问题是,与返回函数有关的数据究竟来自哪里?我知道嵌入式函数中的数据可以从其封装父级传递,但看起来父函数没有数据可以实际传递,因为它没有自己的参数!

作为说明,我查看了所有其他“可能已经有您的答案的问题”,但找不到与我的问题相关的任何内容。我看到了一些接近但没有一个击中它的头。其中很多都有一个父/包含函数,它有自己的参数。

【问题讨论】:

  • function (d, i) { }di 都不任何事情。它只是说“为获取此数据时要做什么创建一个标记”。在使用 (the_func)(the_d, the_I) 调用函数之前,不会执行内部 function (...) { ... } 内的任何代码。
  • 感谢您的 cmets!这个函数非常嵌套在事物的宏伟计划中,因此很难确定数据的来源,但我正在慢慢深入挖掘并整理出来!你们的 cmets 绝对让我走上了正确的道路!

标签: javascript function arguments parameter-passing


【解决方案1】:

您的函数test() 正在返回一个函数,而不是执行。所以参数将由调用返回函数的人提供。

function test() {
    return function(d, i) {
        ...
    };
}    

var innerFunc = test();

var result = innerFunc(1, 2);  // or call or apply

【讨论】:

  • 啊,谢谢!你是对的,我正在查看的代码有级联的调用和回调,因此很难确定数据的来源。
猜你喜欢
  • 2020-09-04
  • 1970-01-01
  • 1970-01-01
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 2014-02-08
  • 2021-03-17
相关资源
最近更新 更多