Ich lerne Javascript in Code Academy. Und ich fand diesen Code:Funktionen mit Objekten in Javascript
// Our person constructor
function Person (name, age) {
this.name = name;
this.age = age;
}
// We can make a function which takes persons as arguments
// This one computes the difference in ages between two people
var ageDifference = function(person1, person2) {
return person1.age - person2.age;
}
var alice = new Person("Alice", 30);
var billy = new Person("Billy", 25);
// get the difference in age between alice and billy using our function
var diff = ageDifference(alice,billy);
Und es funktioniert und gibt den Unterschied zurück. Ich habe mich jedoch gefragt, warum die Eingabe von Person.alice und Person.billy in ageDifference einen Fehler zurückgibt. Wird das Alter nicht als Person.billy.age und Person.alice.age gespeichert?
'alice' und' billy' sind Objektnamen und sie haben nichts mit der inneren Struktur des Objekts zu tun. Also verweisen 'Person.billy' und' Person.alice' auf nicht vorhandene Felder der Personenklasse (d. H. Prototyp in JavaScript). –