1. 인터뷰에서 만난 질문은 하위 클래스가 상위 클래스를 상속한다는 것입니다. 상위 클래스에는 두 가지 메서드가 있으며 그 중 하나를 재정의합니다. 상속에 관해서는 반드시 결합 상속을 사용합니다. 메소드는 모두 프로토타입에 작성됩니다. 메소드를 서브클래스의 프로토타입 object에 직접 작성하면 객체의 속성 검색이 기반이 되기 때문에 괜찮습니다. 프로토타입 체인에서는 근접성 원칙에 따라 먼저 발견된 메서드가 호출됩니다.
2. 코드는 다음과 같습니다.[javascript] view plain copy // supcalss var parent = function(name,age){ this.name = name; this.age = age; } parent.prototype.showProper = function() { console.log(this.name+":"+this.age); } var child = function(name,age){ parent.call(this,name,age); } // inheritance child.prototype = Object.create(parent.prototype); // child.prototype = new parent(); child.prototype.constructor = child;
// rewrite function child.prototype.showProper = function(){ console.log('I am '+this.name+":"+this.age); } var obj = new child('wozien','22'); obj.showProper();
함수는 proto 객체를 프로토타입 객체로 하여 객체를 생성하고 이 객체를 반환하는 함수입니다.
메서드 찾는 순서: obj -> child.prototype ->parent.prototype3. 주의 사항: JS에서 메소드 상속을 구현하고 다시 작성할 때 또는 클래스 메소드를 생성할 때 다음과 같이 작동합니다. 프로토타입 객체 프로토타입이며 메서드를 상속하는 다른 메서드를 고려할 필요가 없습니다. 관련 기사:js에서 기본적이고 일반적으로 사용되는 몇 가지 방법에 대한 설명
위 내용은 js 상속에서 메소드 재작성을 설명하는 핵심 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!