class DataBase {
constructor(id){
this.id='123';
}
get_id() { return "testing";}
}
class User {constructor(database) {
this.__database=database;
console.log(this.__database.id);
this.initfunc();
}
initfunc(){this[`get_id`]=new Function(`return this.__databse.get_id()`);
}
}
var database=new DataBase();
var user =new User(database);
console.log(user.get_id());
Jeder weiß, wie die neue Funktion zu verwenden, wenn das Ergebnis korrekt ist, wird die Zeichenfolge Test zurückkehren, wissen jemand wie zu tun, bitte helfen Sie, dankJavascript, wie neue Funktion verwenden
die erwarten Ergebnis ist console.log (user.get_id()) wird "testen", aber jetzt Fehler zurück (undefined: 2 return this .__ databse.get_id() ^
Typeerror: kann nicht lesen Eigenschaft 'GET_ID' undefinierter)
Was genau fragen Sie? Auf welches Problem stößt du? Was geschieht? Was erwartest du zu passieren? Wie unterscheiden sie sich? – pvg
Danke für die Antwort, ich habe die Frage aktualisiert – user3035661
Nun, abgesehen von einigen offensichtlichen Probleme, haben Sie "__database" falsch geschrieben. Der Fehler ist ein totes Give-Away, das 'get_id()' kann nicht auf etwas undefiniert aufgerufen werden. – chazsolo