2016-02-14 4 views
-1
function Person1(){ 
    this.name='Person1 Name'; 
    this.Age='Person1 Age'; 
    this.Sex='Person1 Sex'; 

} 

Person1.prototype.getInfo=function(){ 
    return this.name; 
} 


var Person2=Object.create(Person1.prototype); 

console.log(Person2.getInfo()); 

Я хочу, чтобы выход как Person1 Name by Inheritance, Каковы способы его достижения. Здесь я хотел бы знать, что содержит Person2? каковы разные Пути?Как получить доступ к прототипу метода

+0

'Person2.prototype.getInfo()'? – elclanrs

+0

Person2.prototype.getInfo() Он ничего не делает, просто возвращает ничего – Curious

+0

, конечно, потому что Person2 не имеет свойства имени. 'Person2.name = 'Person2 Name''; затем 'Person2.getInfo()' – RomanPerekhrest

ответ

0
function Person1(){ 
    this.name='Person1 Name'; 
    this.Age='Person1 Age'; 
    this.Sex='Person1 Sex'; 

} 

Person1.prototype.getInfo=function(){ 
    return this.name; 
} 


var Person2= new Person1(); 

console.log(Person2.getInfo()); 
+0

Я хочу добиться наследования. поэтому, как это сделать, используя Object.create (Person1.prototype); – Curious

+0

'var Person2 = Object.create (Person1.prototype);' будет наследоваться от 'Person1.prototype'. но тогда у него нет членов, называемых «имя, возраст и пол». в случае 'var Person2 = new Person1();', новый созданный объект ('Person2') по-прежнему унаследован от' Person1.prototype', а также имеет имя, возраст и пол. – Oxi

+0

Хотя этот блок кода может ответить на вопрос, было бы лучше, если бы вы могли дать небольшое объяснение, почему оно это делает. –

Смежные вопросы