여러 참조를 살펴본 결과 해결책을 찾을 수 없습니다! 내가 그나마기존 프로토 타입 메서드를 덮어 쓰고 동일한 'this'범위 유지
는 '원래의 프로토 타입 코드에 액세스 할 수
는 편집 :
는 이제 다음 이미 내 코드베이스에 존재하는 가정 해 봅시다 :
(function(){
function Test() {
this.game = 'rods';
}
Test.prototype.fail = function() {
setInterval(function() {
console.log('A', this.game);
}, 300);
}
var test = new Test();
test.fail();
})();
난에 액세스 할 수 없습니다 원래 선언,이 내 코드베이스, 내가 뭘 하려는지 노력하고있어 실패 메서드의 기본 기능을 덮어 쓰는 방법이지만 여전히 THIS
keywo의 인스턴스를 유지하고있다 rd. 출력이 지금 B로 시작되어야한다를 제외하고
setTimeout(function() {
Test.prototype.fail = function() {
setInterval(function() {
console.log('B', this.game);
}, 1000);
}
}, 1000);
내가, 동일한 출력을 볼 것으로 예상 것 :
나는 나의 목표는이 비슷한입니다, 많은 다른 것들을 시도했습니다 A
대신에 알려주세요.
'.bind'가 아니며 모두 작동해야합니다. –
@JaromandaX –
과 같이 호출하면 'Utilities.prototype.add()'와 같이 작동하지 않습니다 ... 같은 것을 인스턴스화해야합니다. 'var x = new Utiltiies()'그러면'x.add()'가 코드를 실행합니다 –