2017-02-15 56 views
-1

functions.jsNode.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

你的'test()'函數是如此孤獨,渴望被執行(你甚至告訴她準備好'要求'它是主機文件),但你只是從來沒有調用過:) –

回答

1

那是因爲你在functions.js文件測試()尚未執行。簡單地說,你只需要添加上述出口線:

var number; 

function test(){ 

    number = 1; 

} 

test(); 

exports.number = number; 
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