나는 인터넷 검색을 미친 듯이했으나 여전히 이해할 수 없다. 나는 다음과 같이 아동과 부모 객체를 설정 한 경우자바 체인 생성자 연결하기
:
var bobby = new Child("Robert", "Lego");
document.write(bobby.name + " " + bobby.toy);
//Result: Robert Lego
:
var Child = function(name, toy)
{
this.toy = toy;
Parent.call(this, name);
}
var Parent = function(name)
{
this.name = name;
}
//Child.prototype = new Parent();
나는 다음과 같은 결과를 얻을 할 수 있도록 위의 행의 주석을 해제 할 수 하지 필요성을
내 이해가 잘못되었습니다 (아마도 잘못된 것 같습니다)
Child.prototype = new Parent();
은 Child 생성자가 만든 프로토 타입을 Parent 생성자가 만든 프로토 타입으로 설정합니다. 따라서,이 라인, (나는 아이에게이 상황을 설정, 부모 생성자를 호출하고 이름을 통과 생각) 라인
Parent.call(this, name);
없이 실제로 작동하지 않아야합니다.
내 이해에 어떤 문제가 있습니까?
미리 도움을 청하십시오! :)
왜 'Parent.call (this, name);'가 작동해야합니까? 당신이 정의한'Parent' 함수를 호출하고 있습니다. –