请参阅以下示例:
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)
。
一个基本的例子:
function sum(x, y) {
var rs = x+y;
return function(message) {
console.log(message + rs); //rs holds its value because of clousers
}
}
var result = sum(2, 3);
result("This is result: ");
局部使用的变量,但
rs
由于闭包而在上例中定义,如上例所示
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句