0
샘플 코드 : JS1.js에서nodejs에서
코드 : JS3.js에서
var js2=require("../../util");
var dataName="Billy";
function hello1(){
js2.hello2("message");
}
코드 :
var js2=require("../../util");
var dataName="Tom";
function hello3(){
js2.hello2("message");
}
JS2.js 코드 :
exports.hello2=hello2;
function hello2(arg1){
console.log(arg1);
//Here I need the data in global variable "dataName" of file JS1.js or JS3.js
}
호출자 js 파일의 전역 변수에 액세스해야합니다.
귀하의 의견을 주셔서 감사합니다, 나는 몇 가지 변경 사항을 질문에, 지금은 다른 js 파일에서 hello2 방법에 액세스하면, 그때 내 전역 변수에 액세스하는 내 js2 파일에서 여러 개체를 선언 할 수 없습니다. 나는 JS2.js 메소드에서'hello2()'에서 this.hello2.caller에 의해 이전 함수 객체에 접근 할 수 있다는 것을 알았습니다. 호출자 메소드 객체를 제공합니다. 그러나 나는 더 이상 진행할 수 없다. – Dexter
축하합니다. 내 대답이 더 이상 의미가 없도록 질문을 변경했습니다. 내가 조금 실망 스럽거나 귀찮은 것을 알게 된 것은 당연한 일이다. 다음 번에 귀하의 원래 질문에 답을하고 (답변을 수락 함), 1) 새로운 질문을 작성하거나, 2) 의견에 후속 질문을하십시오. – broofa
레코드에 대해서, 당신이'호출자 (caller) '를 발견했을 때 호출 함수에 대한 참조 만 제공합니다. 그러나 변수가 변수 자체에서 정의 된 컨텍스트를 발견하기위한 기본 제공 메커니즘이 없으므로 원하는 작업을 수행하는 데 도움이되지 않습니다. 호출하는 모듈 컨텍스트에 대한 참조를 얻으려면 함수에 명시 적으로 설정해야합니다 (예 :'hello1.context = module.exports '). 그러나 그것은 이상하게 보입니다. 대신, 그것을 hello2에 대한 인수로 전달하십시오. – broofa