자바 스크립트에서 아키텍처와 같은 클래스를 만들려고하지만 포인트를 고수하려고합니다. 여기 코드입니다 :생성자에 범위 변수 추가하기
var make = function(args) {
var priv = args.priv,
cons = args.cons,
pub = args.pub;
return function(consParams) {
var priv = priv,
cons = args.cons;
cons.prototype.constructor = cons;
cons.prototype = $.extend({}, pub);
if (!$.isFunction(cons)) {
throw new Hata(100001);
}
return new cons(consParams);
}
};
내가 반환 된 함수 객체의 범위에 priv에 변수를 추가하고 cons.prototype의 범위를 반대하기 위해 노력하고있어하지만 난 그것을 만들 수 없습니다;
var myClass = make({
cons: function() {
alert(this.acik);
alert(priv.gizli);
},
pub: {
acik: 'acik'
},
priv: {
gizli: 'gizli'
}
})
myObj = myClass();
PS : 여기
는 메이크업 개체의 사용 단지 내가하고 싶은 것을 입증하기 위해 잘 나는 외부 바르를 사용했다. 자바 스크립트 함수 구조의 개인 변수 구문을 알고 있습니다. 하지만 "새로운"(패턴 이름을 잊어 버렸습니다) 인스턴스화 패턴에서 사용할 함수의 범위를 변경 (개인 변수 추가) 할 수있는 솔루션이 필요합니다.PS : 용서해주세요 내 영어 ...
영어로는 아무런 문제가 없습니다. –
글쎄 내 용서를 용서 (?) 내 미래의 실수에 대한 받아들입니다 :) – Lupus