【问题标题】:Node.JS - Call a Pre-Defined Function in Another FunctionNode.JS - 在另一个函数中调用预定义函数
【发布时间】:2018-04-10 00:57:23
【问题描述】:

我有一个函数,functionOne,在其他函数或 if 语句之外正常定义。现在我有另一个函数functionTwo,我在functionTwo 内部调用functionOne。我试过四处搜索,但我只能找到告诉我在 functionTwo 中定义 functionOne 的东西。我的问题是,正如我之前所说,它已经在任何函数之外定义了。

这是我的代码:

function functionOne (connection) {
//code here for functionOne
}

function functionTwo (functionOne, connection) {
//some code here for functionTwo

functionOne(connection)
}

错误是connection var 没有被传递。任何修复表示赞赏!谢谢:)

【问题讨论】:

  • 您没有正确定义函数。应该是:function <functionName> () {}
  • 如果你运行这段代码,你会得到什么错误信息? :)
  • @hackerrdave 对不起,我把问题搞砸了,我确实这样做了,我只是忘了把它加在那里我不好:P
  • “连接变量没有被传递”是什么意思?你是如何调用 functionTwo 的?
  • @hackerrdave OHHHHH 我在调用functionTwo 时没有将functionOne 作为参数传递......呵呵,现在解决了,谢谢:P

标签: javascript node.js function nested


【解决方案1】:

要定义一个函数,您应该使用以下语法:

function funcName(args){
    //code
}

在您的示例中,您没有定义任何函数。你只是调用了不存在的函数。

【讨论】:

  • 对不起,我把问题搞砸了,我确实这样做了,我只是忘了把它加在那里我不好:P
  • 那么您不需要将 functionOne 作为参数传递给 functionTwo
  • 谢谢,但我已经在原始问题的 cmets 中弄清楚了 :)
【解决方案2】:

如果我理解您的问题,您只需在第二个函数中提供第一个函数的参数

   function funcOne(a){
    return a
}

function funcTwo(b, c){
    //funcTwo's value of "b" will be used for funcOne as the "a" argument
    return funcOne(b) + c
}

console.log(funcTwo(3,4)) //returns 7

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多