访问调用模块中定义的所需模块中的函数

Access to functions in required modules defined in the calling module

本文关键字:模块 函数 定义 调用 访问      更新时间:2023-09-26

如何在所需模块中调用但在主程序中定义的函数?

主.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);

bfunnc.js:

var bFunc = function() {return aFunc() + aFunc()};
exports.bFunc = bFunc;

我不想在bFunc中定义(复制)aFunc,也不想将aFunc放入它自己的文件(aFunc.js)。 有没有办法通过引用"需要"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 具有词汇范围