私はコードアカデミーでJavascriptを学んでいます。そして、私はこのコードを見つけました: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);
そして、それは働き違いを返します。しかし、なぜPerson.aliceとPerson.billyをageDifferenceに入力するとエラーになるのだろうと思っていました。年齢がPerson.billy.ageおよびPerson.alice.ageとして保存されていませんか?
'alice'と' billy'はオブジェクト名であり、オブジェクトの内部構造とは関係がない。したがって、Person.billyとPerson.aliceはPersonクラスの既存のフィールド(JavaScriptのプロトタイプ)を参照します。 –