2
ループ内でプロトタイプ関数を呼び出すとエラーが発生します。Javascript:forループを呼び出すときに関数エラーが発生しない
クラス
var Book = function(title, Available, publicationDate, checkoutDate, callNumber, Authors) {
this.title = title;
this.Available = false;
this.publicationDate = new Date();
this.checkoutDate = checkoutDate;
this.callNumber = 690080;
this.Authors = Authors;
};
他のクラスはbooksOut配列プロパティを持つ
var Patron = function(firstName, lastName, libCardNum, booksOut, fine) {
this.firstName = firstName;
this.lastName = lastName;
this.libCardNum = libCardNum;
this.booksOut = [];
this.fine = 0.00;
};
守護クラスの配列プロパティに本を追加することになっているプロトタイプ
Patron.prototype.read = function(Book) {
this.booksOut.add(Book);
}
TypeError:catalog [k] .readの原因となるループは、かっこがないと、常に同じ出力が得られます。
for (var i = 0; i < 90; i++) {
for (var j = 0; j < catalog.length; j++) {
for (var k = 0; k < patrons.length; k++) {
var fine = patrons[k].fine;
if (catalog[k].Available) {
catalog[k].checkOut();
} else {
catalog[k].checkIn();
catalog[k].read();
if (catalog[k].isOverdue()) {
fine = fine + 5.00;
}
}
patrons[k].fine = fine;
}
}
}
ご協力いただければ幸いです。
よう
Patron
の読み取り機能を呼び出すことができますか?それは 'Book'のインスタンスで、' Book'ではなく 'Patron'のために定義された' read'メソッドを持っていません。また、それは引数を期待しているようです....そのパラメータ 'Book'を呼び出すことは、' Book'コンストラクタとして誤解される可能性があるため、最良の選択ではありません。 init-capsは、コンストラクタ/クラスに対してのみ使用してください。 – trincotそれを見て、助けていただきありがとうございます。 –