javascript - 프로토타입 체인에 관한 질문
PHP中文网
PHP中文网 2017-06-14 10:53:03
0
3
705
으아악

1.my.toString()이 호출될 때 JavaScript 엔진의 실행 경로는 무엇입니까?

PHP中文网
PHP中文网

认证0级讲师

모든 응답(3)
滿天的星座

으아악

[1]. Triangle 인스턴스 객체를 생성합니다.

으아악

[2] Triangle 인스턴스 객체 my에서 getArea 메소드를 호출합니다.[3] Triangle 인스턴스 객체 my에서 toString 메소드를 호출하고, 프로토타입 체인을 따라 TwoDShape 인스턴스를 찾습니다. 객체가 아직 존재하지 않으면 Shape 인스턴스로 이동하여 객체를 찾으세요.
이번 개체는 Triangle 인스턴스 개체 my이고, 해당 개체의 name 속성 값은 Triangle이며, 출력은
입니다.

过去多啦不再A梦

1: 먼저 유형과 인스턴스 사이의 관계를 이해하세요. Shape는 유형(추상)이고 var shape = new Shap(); 질문은 너무 모호합니다. var shape = new Shap(); 그리고 var sh = Shape()의 생성자 사이의 관계는 무엇입니까 => Shape의 생성자는 Shape.prototype.constructor입니다. (shape와 sh는 어떻게 관련될 수 있습니까~)
3: 직접 상속하지 않는 이유는 무엇입니까? 이렇게 디자인되었습니다

代言

모두 분해해보면 알 수 있습니다. 먼저 new의 작동 논리를 살펴보세요. TwoDShape.prototype = new Shape();세 가지 작업을 수행합니다. 으아악

같은 이유

으아악 으아악

실행시

my.toString()的时候从my自身成员开始找toString,没有就沿着__proto__往上找,最终在my.__proto__.__proto__(也就是TwoDShape.prototype)里找到了toString

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿