functions.js
var number;
function test(){
number = 1;
}
exports.number = number;
在文件test.js
中,我会尝试获取变量号:
var Functions = require('functions.js');
var test = Functions.number;
console.log(test);
但它总是返回undefined
,解决此问题的最佳解决方案是什么?
全局变量是错误的吗?即使我尝试导出一个函数,它总是返回undefined
答案 0 :(得分:1)
那是因为你的functions.js文件中的test()还没有被执行。简单地说,您只需要在导出上方添加一行:
var number;
function test(){
number = 1;
}
test();
exports.number = number;
答案 1 :(得分:0)
如果functions.js
与test.js
位于同一目录中,请按以下方式进行操作:
var Functions = require('./functions');
但您仍然永远不会为number
分配值,因为您不会致电test()
,因此在您致电之前它仍会打印undefined
。
这是一个更完整的例子:
functions.js
var number = 0;
function test(){
number = 1;
}
exports = {
test: test,
number: number
};
test.js
var Functions = require('./functions');
console.log(Functions.number); // prints 0
Functions.test();
console.log(Functions.number); // prints 1