访问调用模块中定义的必需模块中的函数
Access to functions in required modules defined in the calling module
如何在所需模块中调用函数,但在主程序中定义?
Main.js:
var http = require('http');
var aFunc = function() {return 1;}
var bFunc = require('./bFunc').bFunc;
var cFunc = function() {console.log(aFunc() + bFunc()); } // should equal 3.
httpServer = http.createServer(cFunc()).listen(80);
bFunc.js:
var bFunc = function() {return aFunc() + aFunc()};
exports.bFunc = bFunc;
我不想在 bFunc 中定义(复制)aFunc,也不想将 aFunc 放入它自己的文件中 (aFunc.js)。有没有一种方法可以通过返回 "required" bFunc 的主程序来访问 bFunc 中的 aFunc?
您必须将 afunc
传递给 bfunc
:
// main.js
var cFunc = function() {console.log(aFunc() + bFunc(afunc)); }
// bfunc.js
var bFunc = function(f) {return f() + f()};
JavaScript 具有 词法作用域 。
如何在所需模块中调用函数,但在主程序中定义?
Main.js:
var http = require('http');
var aFunc = function() {return 1;}
var bFunc = require('./bFunc').bFunc;
var cFunc = function() {console.log(aFunc() + bFunc()); } // should equal 3.
httpServer = http.createServer(cFunc()).listen(80);
bFunc.js:
var bFunc = function() {return aFunc() + aFunc()};
exports.bFunc = bFunc;
我不想在 bFunc 中定义(复制)aFunc,也不想将 aFunc 放入它自己的文件中 (aFunc.js)。有没有一种方法可以通过返回 "required" bFunc 的主程序来访问 bFunc 中的 aFunc?
您必须将 afunc
传递给 bfunc
:
// main.js
var cFunc = function() {console.log(aFunc() + bFunc(afunc)); }
// bfunc.js
var bFunc = function(f) {return f() + f()};
JavaScript 具有 词法作用域 。