Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数中的函数在nodejs中具体做什么?_Javascript_Node.js_Function - Fatal编程技术网

Javascript 函数中的函数在nodejs中具体做什么?

Javascript 函数中的函数在nodejs中具体做什么?,javascript,node.js,function,Javascript,Node.js,Function,请参见此示例: var tools1 = require('../tools/tools1'); var test_func = function(arg1, arg2, arg3) { var local_var_1 = "lc1"; var local_var_2 = "lc2"; return function(data) { var result = tools1.doSth(local_var_1); result = result+

请参见此示例:

var tools1 = require('../tools/tools1');
var test_func = function(arg1, arg2, arg3) {

    var local_var_1 = "lc1";
    var local_var_2 = "lc2";

    return function(data) {
    var result = tools1.doSth(local_var_1);
        result = result+local_var_2;
    }
}

exports.test_func = test_func;

我不明白内在功能是做什么的

在javascript中,当您返回函数时,它将返回该函数的引用,您可以稍后调用它

在代码中,当执行var result=test_func()时,result将保留该函数的引用。然后,您可以调用返回的函数,如
result(data)


一个基本的例子:

函数和(x,y){
var-rs=x+y;
返回函数(消息){
console.log(message+rs);//由于用户的原因,rs保留其值
}
}
var结果=总和(2,3);

结果(“这是结果:”)在javascript中,当您返回函数时,它返回该函数的引用,您可以稍后调用它

在代码中,当执行var result=test_func()时,result将保留该函数的引用。然后,您可以调用返回的函数,如
result(data)


一个基本的例子:

函数和(x,y){
var-rs=x+y;
返回函数(消息){
console.log(message+rs);//由于用户的原因,rs保留其值
}
}
var结果=总和(2,3);

结果(“这是结果:”)函数中的函数概念在JavaScript中称为闭包。它们是自调用的,使函数的私有变量成为可能。 我代表的是我在中发现的与你相似的代码

最初,计数器设置为0,然后返回函数引用。计数器受匿名函数作用域的保护,只能使用add()函数进行更改。 然后计数器被设置为3,因为add()函数被调用了三次

以非常相似的方式,我猜您的代码正在工作:

var test_func = function(arg1, arg2, arg3) {

    var local_var_1 = "lc1";
    var local_var_2 = "lc2";

    return function(data) {
    var result = tools1.doSth(local_var_1);
        result = result+local_var_2;
    }
}
本地_var_1和本地_var_2设置为“lc1”和“lc2”,并返回函数引用。 然后,内部函数将使用tools1.doSth()对局部变量1执行一些操作,并将结果附加到局部变量2


注意:我不清楚您的代码的输出,所以我试图借助另一个代码告诉您这些步骤。

函数中的函数概念在JavaScript中称为闭包。它们是自调用的,使函数的私有变量成为可能。 我代表的是我在中发现的与你相似的代码

最初,计数器设置为0,然后返回函数引用。计数器受匿名函数作用域的保护,只能使用add()函数进行更改。 然后计数器被设置为3,因为add()函数被调用了三次

以非常相似的方式,我猜您的代码正在工作:

var test_func = function(arg1, arg2, arg3) {

    var local_var_1 = "lc1";
    var local_var_2 = "lc2";

    return function(data) {
    var result = tools1.doSth(local_var_1);
        result = result+local_var_2;
    }
}
本地_var_1和本地_var_2设置为“lc1”和“lc2”,并返回函数引用。 然后,内部函数将使用tools1.doSth()对局部变量1执行一些操作,并将结果附加到局部变量2


注意:我不清楚您的代码的输出,所以我试图借助另一个代码告诉您这些步骤。

谢谢,我想我明白了。你的意思是不是要得到一个对象或字符串或。。。从一个函数作为它的输出,我们可以得到一个函数作为输出。正确的!?是的,您可以返回一个函数。正如我已经提到的,我们实际上是在返回参考资料。谢谢,我想我知道了。你的意思是不是要得到一个对象或字符串或。。。从一个函数作为它的输出,我们可以得到一个函数作为输出。正确的!?是的,您可以返回一个函数。正如我已经提到的,我们实际上是在返回引用。