이 IFFE :그것은 내가 가진
var Helper = (function() {
return {
number: null,
init: function (num) {
number = num;
}
}
})();
var Helper2 = (function() {
return {
options: {
number: [],
},
init: function(num){
this.options.number = num;
},
getData: function() {
return this.options.number;
}
}
})();
Helper2.init(Helper.number);
console.log(Helper2.getData());
Helper.init(5);
console.log(Helper2.getData());
내가 원하는 것은 내가 기술 할 수있는 일
Helper2.init(Helper.number);
console.log(Helper2.getData()); // null
Helper.init(5);
console.log(Helper2.getData()); // null
입니다 무엇을 얻을
Helper2.init(Helper.number);
console.log(Helper2.getData()); // null
Helper.init(5);
console.log(Helper2.getData()); // 5
입니다 가능한 경우 참조로 전달해야합니까?
JSBIN : https://jsbin.com/gomakubeka/1/edit?js,console
편집 : 사람들의 톤이 Helper2 depend on Helper
을 여러 가지 방법을 통합 시작하기 전에 Helper
의 실제 구현을 알 수 및 Helper2 메모리 주소를 필요로하므로, 그들은 숫자를 구현하는 방법의 100 년대를 가질 수있다.
편집 2 : 나는 내가 참조
으로 사용할 수있는 방법이 기본 유형을 포장 할 수있는 방법, 배열/객체 참조에 의해 전달합니까 것을 알고 있었다 일부 시작을 얻을 수 있었으면 된 경로를 가정
은 당신이 가지고있는 코드에 대한 구체적인 무엇인가? 'Helper'가 그 수를 구현할 수있는 방법이 100 가지라고 말하면,'Helper'는 항상 객체의 루트에 'Number' 유형의 속성을 갖게된다는 것이 현재 스키마에 있다는 것을 의미합니까? – zero298
Helper를 Helper2에 직접 캡슐화하지 않는 이유는 무엇입니까? –
@ zero298 예. 그것은 누군가의'.randomNumber' 변수에있을 수 있습니다. elses 구현'Helper' @ Jean-BaptisteYunès 내가 원하는 값을 얻는 공통된 방법을 가지고 인터페이스가 필요합니다. js에서 AFIK를 수행하는 엄격한 방법은 없습니다). – CuriousDeveloper