다음과 같은 결과가 나오는 이유를 알 수 없기 때문에 객체가 Javascript에서 작동하는 방식에 대한 근본적인 오해가 있어야합니다. getName 기능이 여기에 정의 http://jsfiddle.net/VivekVish/8Qvkn/1/프로토 타입에 다른 객체의 인스턴스가 할당되었을 때 자바 스크립트에서 객체 유형 얻기
주입니다 사용합니다 : How do I get the name of an object's type in JavaScript?
Object.prototype.getName = function()
{
var funcNameRegex = /function (.{1,})\(/;
var results = (funcNameRegex).exec((this).constructor.toString());
return (results && results.length > 1) ? results[1] : "";
};
function ContentProvider()
{
}
function LessonProvider()
{
console.log(this.getName());
}
lessonProvider1 = new LessonProvider();
LessonProvider.prototype = new ContentProvider();
lessonProvider2 = new LessonProvider();
위의 코드는 콘솔에 다음과 같은 출력 : 현재 다음과 같은 코드의 jsfiddle을 볼 수 있습니다
LessonProvider
ContentProvider
하지만 왜 LessonProvider가 두 경우 모두 h가 아닌가? ow는 두 경우 모두 LessonProvider로 만들 수 있습니까?