OO 자바 스크립트를 배우므로이 질문이 이상하게 들릴 수 있습니다. 문제 : normalize
함수는 private이어야하며 외부에서는 액세스/쓰기가 불가능합니다. 질문 : normalize
에 액세스하려면 prepare
프로토 타입 기능 내부에서 어떻게해야합니까?JavaScript의 프로토 타입 함수에서 private 메서드를 사용할 수 있습니까?
var AuthHmac = AuthHmac || (function(_, CryptoJS) {
function AuthHmac(options) {
var options = options || {},
normalize = function(s) { return s.toLowerCase(); };
this.additionalHeaders = options.additionalHeaders || {};
};
AuthHmac.prototype.prepare = function(request) {
request.headers = request.headers || {};
_.each(this.additionalHeaders, function(value, name) {
request.headers[this.normalize(name)] = value;
});
};
return AuthHmac;
})(_, CryptoJS);
나는 어휘 범위 지정을 호출하고 "해킹"을 닫는 데 동의하지 않습니다. 비용도 사소하다. – jAndy
즉,'var normalize'는 로컬 변수이고'AuthHmac'에서 사용할 수 있습니다. 그렇습니까? 생성자 밖에서'normalize '를 정의하는 불리한 점은 (제안한대로)? – gremo
@jAndy : "해킹"IMO가 아닌 사설 속성을 시뮬레이트하는 데 이러한 개념을 사용하는 경우 (따옴표 안에 해킹을 적어 두십시오. 개념을 만드는 응용 프로그램입니다). –