Hallo,
ich habe(zu Testzwecken) eine Seite mit der Prototype Inheritance programmiert. Dabei wollte ich ein Programm schreiben, welches das Alter eines Studenten jede Sekunde erhöht. Wenn der Student 8 Jahre( also 8 Sekunden) auf der Uni war, soll ein Alert mit der Benachrichtung zum Doktortitel im jeweiligen Fach kommen. Währenddessen soll ein Counter in der Konsole die Zeit hochzählen. Aber leider wird statt jede Sekunde eine Zahl hochgezählt, sondern es kommt die Meldung "NAN".
Hier der Code:
let student = {
getFullname: function () {
alert("Er heißt " + this.firstname + " " + this.lastname);
},
altern: function () {
let erstsemesterAlter = this.alter;
setInterval(function () {
this.alter = this.alter + 1;
if (this.alter - erstsemesterAlter == 8) {
alert("Doktor in " + this.Fach + "!!!");
}
}, 1000);
}
}
let max = {
firstname: "Max",
lastname: "Mustermann",
Fach: "Informatik",
alter: 23
};
max.__proto__ = student;
console.log(max);
max.altern();
Hat jemand eine Idee, wieso die Variable this.alter nicht als Nummer gezählt wird?