누군가이 코드를 사용하고 있다고 생각하면 Me.prototype.constructor = Me;
을 사용하는 이유를 설명 할 수 있습니까?JS에서 프로토 타입 생성자를 사용
코드 프로토 타입 개체가 Me 개체에 만들어지고 인스턴스화되어 이전 프로토 타입 개체로 대체됩니다. 주어진 코드에서 Me 생성자를 가리켜 야하는 이유는 무엇입니까?
function Me(){
this.name = 'Dejan';
}
function You(){
this.name = 'Ivan';
}
Me.prototype = new You();
somebody = new Me();
Me.prototype.constructor = Me; // Why?
Me.prototype.foo = function(){
alert('Proto Me!'); // It always fire up this alert, ether constructor is pointing to Me or not... !
}
You.prototype.foo = function(){
alert('Proto You!');
}
somebody.foo();
alert(somebody.name); // Alert 'Dejan'
레거시 브라우저는'instanceof' 키워드의'.constructor' 속성을 확인합니다. – Raynos
2006 년부터 책입니다. –