2012-03-23 13 views
0

エクスポートの仕組みを理解していますが、メインファイルに変数を作成して、その変数をモジュールで使用するにはどうすればよいですか?私はモジュール内の関数に "グローバル"変数を渡そうとしましたが、参照としてではなくコピーとして渡しました。例えばモジュール内の変数の共有node.js

SomeObjectのは、それがコピーを通過するオブジェクトであり、Iはfunction_a又はfunction_b内部その値を変更した場合、それはグローバルスコープに変更、または任意の他のモジュールに習慣としても
# main file 
var someObject = {}; 

var myModule = require('./whatever'); 
moModule.function_a(someObject); 
moModule.function_b(someObject); 

どここれを使って。

+0

あなたは何をしたかのいくつかのコードを投稿してもらえますか?それは参照として渡されているはずです。 – fent

+0

@DeaDEnDが編集されました! – Macmee

答えて

3

渡された引数を変更した場合、その引数は関数外で変更されます。

しかし、オブジェクトをコピーしようとしていると思われることは、変数を再割り当てすることです。あなたは何をすべき

function foo(a) { 
    a.bar = 42; 
} 
var o = {}; 
foo(o); 
console.log(o); // { bar: 42 } 

はいけないこと:

function foo(a) { 
    a = { bar: 42 }; 
} 
var o = {}; 
foo(o); 
console.log(o); // {} 
+0

ありがとう、これは働いた! – Macmee

関連する問題