실제로 소스를 변경하지 않고 jquery 플러그인의 동작을 변경하려고합니다. 이 질문의 목적을 위해, 나는 나의 문제를 보여주는 간단한 예를 만들었다. 이 같은 글로벌 변수에 클래스 인스턴스 발생기를 부착 스크립트 파일이있는 경우 :개인 클래스 메서드 변경
(function(){
window.newMyClass = function(){
return new myclass();
}
function myclass(){
var privateMethod = function(){
return "private";
}
this.publicMethod = function(){
return privateMethod();
}
}
})()
그때 var instance = window.newMyClass()
와 MyClass의 새로운 인스턴스를 얻을 경우를 instance
에 privateMethod
의 동작을 재정의 할 수있는 방법 등이있다 그 instance.publicMethod()
내 재정의 함수를 호출 할 것이라고? myclass를 하위 클래스로 만들 수 있다고 생각했지만 myclass 생성자가 바로 호출 된 함수 식에 범위가 있기 때문에이를 수행하는 방법을 모르겠습니다.
플러그인 소스를 변경하는 것이 더 좋습니까? 문제는 CDN을 사용하는 대신 직접 호스팅해야하며 업데이트가 출시 될 때마다 변경 사항을 다시 구현해야한다는 것입니다.
유일한 것은 재정의'publicMethod'입니다. –
"사적인"방법이라고 불리는 이유가 있습니다. –