은 이제 나는 다음과 같은 클래스가 있다고 가정 해 봅시다 반환 작동하지 않는다면 클래스가 반환하기 전에 "타입 변경"을 인식하지 못하기 때문이라고 가정합니다. 그렇다면 [object Object]가 아닌 .goto() 메서드를 [Internet Explorer]에 바인딩하려면 어떻게해야합니까? 내가 이해하는 바로는 call(), apply() 또는 bind()가 유용 할 때가 있지만 실제로 사용법은 모른다.바인딩 방법은 다른 물체
0
A
답변
1
당신이 그들을 반환하기 전에 당신은 당신의 객체에 기능을 추가 할 수 있습니다
var ie = function() {
var ieObj = new ActiveXObject('InternetExplorer.Application');
ieObj.goto = function() { ieObj.Navigate('http://www.google.com'); };
return ieObj;
};
var nav = ie();
nav.goto();
new ActiveXObject()
이 ActiveXObject
의 인스턴스를 반환하지 않습니다, 그래서 당신은 모든 인스턴스를 가지고하기 위해 수정할 수없는 프로토 타입이 없다 자동으로 특정 방법을 만들 수 있습니다. 비록 당신이 그것을 할 수 있다고하더라도, 당신이 만든 모두ActiveXObject
은 바람직한 상황이되지 않을 것이라는 것을 의미 할 것입니다.