아래의 바이올린/코드를 참조하십시오 http://jsfiddle.net/kmiklas/3YdTA/4/JavaScript Prototypal Inheritance : 자식의 getter/setter 호출이 부모에게 영향을주는 이유는 무엇입니까?
질문 :
아이의 setter 함수를 호출하지 왜- - 예에서, 전화를
Object.create(99)
로 설정 --change 부모님? 우리가 오렌지의 컨텍스트에서이 함수를 호출 했음에도 불구하고 빨간색의 값을 변경하는 방법에 유의하십시오. - 더 중요한 것은 상속 된 getter/setter 함수를 부모가 아닌 자식에게 어떻게 적용 할 수 있습니까?
- 여기에 무엇이 누락 되었습니까?
var Square = function() {
var side;
this.setSide = function(s) {
side = s
}
this.getSide = function() {
return side;
}
}
var red = new Square();
var orange = Object.create(red);
red.setSide(100);
var $container = $('#container');
$container.append('orange.getSide(): ' + orange.getSide() + '<br>');
$container.append('red.getSide(): ' + red.getSide() + '</br><br>');
$container.append('<i>Now we call orange.setSide(99)...</i><br></br>');
orange.setSide(99);
$container.append('orange.getSide(): ' + orange.getSide() + ' <i>...as expected.<br></i>');
$container.append('red.getSide(): ' + red.getSide() + '!? <i>Why does the call to orange.setSide(99) affect the side length of the parent?</i></br>');
에서이 참조 게시 한 코드와 관련이 있습니다. ... 그 코드에는 상속이 없습니다. –
당신은 바이올린을 봐야합니다 ... 당신은 오프 토픽으로 이것을 투표 했습니까? 그렇지 않습니다. 보류 상태를 제거하십시오. – kmiklas
질문에 직접 문제를 재현하는 데 필요한 모든 관련 정보를 입력해야합니다. 나는 주제에서 투표하지 않았다. 중재자가했습니다. –