Je me suis procuré un script JAVA qui permet d'afficher un message précis en fonction de l'heure.

Java et JavaScript n'ont rien à voir...
Sinon, tu ferais bien d'éviter de récupérer des scripts qui sont manifestement aussi datés !
Tout d'abord, la syntaxe
<SCRIPT LANGUAGE="JavaScript">
est vraiment dépassée. Je ne vais pas troller sur l'écriture des balises en majuscule, mais ce n'est vraiment plus d'actualité.
En revanche, l'attribut "language" est déprécié depuis HTML4 et à l'inverse, l'attribut "type" est désormais requis.
Et il semble que celui qui a écrit ce script ne soit pas encore au courant de la différence entre ces deux attributs, parce que LANGUAGE="JavaScript" n'a absolument aucun sens ni intérêt !
LANGUAGE sert à déterminer la version de JavaScript utilisée, donc mettre JavaScript comme valeur, ben, ça sert pas à grand chose 
Sinon, au niveau des variables, je vois mal l'intérêt de les déclarer hors de la fonction (ce qui encombre inutilement l'objet global). Il serait préférable d'en déclarer une seule dans la fonction avec le mot clé var, histoire de respecter un peu la syntaxe JavaScript :
1 2 3
| function MessageParDate(){
var heure = new Date().getHours();
} |
Enfin, la succession de conditions if est maladroite, ici, un switch serait plus approprié 
Et puis des conditions du style
on peut s'en passer ! Je vois mal comment un chiffre pourrait être à la fois strictement supérieur à 7 et strictement inférieur à 8... 
Donc un exemple de code correct pourrait être
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| function MessageParDate(){
var heure = new Date().getHours();
switch(true){
case heure < 8:
return '01';
case heure < 17:
return '03';
case heure < 19:
return '04';
case heure < 20:
return '05';
default:
return '06';
}
} |
(tu noteras aussi que le cas où l'heure soit entre 23 et 0 est désormais géré
)
Partager