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
注意:我不清楚您的代码的输出,所以我试图借助另一个代码告诉您这些步骤。谢谢,我想我明白了。你的意思是不是要得到一个对象或字符串或。。。从一个函数作为它的输出,我们可以得到一个函数作为输出。正确的!?是的,您可以返回一个函数。正如我已经提到的,我们实际上是在返回参考资料。谢谢,我想我知道了。你的意思是不是要得到一个对象或字符串或。。。从一个函数作为它的输出,我们可以得到一个函数作为输出。正确的!?是的,您可以返回一个函数。正如我已经提到的,我们实际上是在返回引用。