Ciao e benvenuto, premesso che questa domanda dovevi farla al tuo professore (pagato per istruirti) per la mia esperienza (da autodidatta) se l'esempio del libro è esattamente scritto come l'hai riportato ed è il testo ufficiale, io cambierei libro (sembrerebbe un libro vecchio) e lo farei presente al professore per i seguenti motivi:
A) le variabili vanno dichiarate con var
B) la sintassi abbreviata (senza document) nomeform.nomecampo.value non è "digerita" da tutti i browser meglio usare la versione document.nomeform.nomecampo.value e oggi come oggi il DOM http://www.html.it/page/risultati-de...Guida%20DOM%20 è d'obbligo
C) le condizioni (if/else) meglio definirle con le graffe {} così da delimitare l'azione
D) l'anno (se non ricordo male dopo il duemila) con getFullYear
E) recuperando dei numeri da un form meglio forzare il dato (che potrebbe essere interpretato da js come stringa) con parseFloat (numero con decimali) o (nel tuo caso) parseInt (numero intero)
per ulteriori chiarimenti credo che il tuo professore saprà certamente aiutarti