2012-03-23 4 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); 

여기서 I 그걸 써.

+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

관련 문제