Cours 1, 5 janvier 2005 (Voir pour TP jeudis soirs)
www.iro.umontreal.ca/~pilona (données du cours) login : internet pass : HiVer2005 Installer Mozilla et Frontpage
Livre : « Initiation à JavaScript », Evrolles, 2001, ISBN : 2-89377-226-9
Cours 2, 12 janvier 2005 remise de travaux:
sur telnet phobos
remise ift1146 demo1 path/doc.htm vérification
remise –v ift1146 demo1
bouquin sur les feuilles de style pourrait être intéressant (mais non vital pour CE cours), xhtml aussi, xml si je me sens en forme…
voir ppt sur le site pour revision html tag de base
couleurs:
par nom: red, green, blue, etc.
par triplet: #000000 trois valeur hexa, par intensité, R G B
(rouge = #FF0000, complet, #800000, moyen) puces
tableaux
… rowspan liens
url, mailto, signets images reactives (image map)
ne pas oublier les 2 lignes d'entête importantes:
1- doctype 2- meta charset
TP1, pour le 30 janvier 22h30 2 remises:
1- électronique
2- papier, avec page de remise, print de internet explorer, et print du code.
nb: le code en bas à gauche est un "address"
Cours 3, 19 janvier 2005
- Commenter le code… // … ou /* … */
Fonctions intéressantes: alert("Bla"); // Afficher un message ds boîte de dialogue.
de sortie document.write("Bla"); // Inclus du texte dans le document html.
reponse=prompt("Réponse?", "Bob"); // Met rép ds la var, Bob comme valeur initiale!!
retournera "null" si on appui cancel reponse=confirm("Continuer"); // Confirmer (ok) ou non (annuler).
Déclaration de variable (avec initialisation): var compteur = 0;
var total, indice = 0, chaine = "texte"; // pas de type!
(toujours déclarer/initialiser avec un "var")
Constantes: n'existent pas comme telles, on suggère var en MAJUSCULES.
Nota: La fonction typeof(nom_variable); permet d'obtenir le type de la variable en question.
Cours 4, 26 janvier 2005
parseInt et parseFloat peuvent être utilisés pour récupérer le nombre au début d'un string. Ex.: "123 rue Laval"
Fonctions utiles sur la page 2 de Notes de cours\b_var_expr.pdf
nota: bla.isNaN() va déterminer si ce n'est pas un nombre, même si ce nombre est dans une chaîne avec ou sans paseInt Nuance entre bla++ et ++bla. Dans 'blu = bla++' vs 'blu = ++bla' (effectue l'incrémentation avant ou après)
Cours 5, 2 février 2005 Fonction (bla) Constructeur:
Général:
var bla = new Object();
Personnel:
function Bla(var1, var2, …, varx) { this.var1 = bla;
this.var2 = blu;
…
this.varx = blo;
}
var bla = new Bla("hgsgfh","fghsfg",…,"sfdhgsfg");
… puis on l'utilise par "bla.var1"
nota: nombre de décimales affichées voulues: variable.toFixed(2) lors de l'affichage (2 pour 2 décimales) nota: la fonction constructrice d'un objet commence par une majuscule, sinon simple minuscule.
Méthode:
Une fonction sans paramètre passé (…) utilisant this dans son corps pour appeler les variables et placée dans la fonction constructrice:
function Bla(var1, var2, …, varx) { this.var1 = bla;
this.var2 = blu;
…
this.varx = blo;
this.mamethode = fonctionx; pas de parenthèses ici bien sûr.
} (on doit avoir créé la fonction avant avec les .this)
var bla = new Bla("hgsgfh","fghsfg",…,"sfdhgsfg");
bla.mamethode();
Cour 6, 9 février 2005
Tableaux: var tab = new Array();
paramètres: Soit le nombre d'éléments, Soit les éléments eux-mêmes,
Soit vide et alors on peut ajouter un élément simplement par attribution à l'indice suivant.
Pages 90 à 93 du livre de référence pour la liste des événements etc.
Dans les onMouseOver et onMouseOut, ne pas oublier d'ajouter un "return true;" après l'appel, sinon le navigateur va aussi faire son appel automatique… généralement bousillant mon appel à moi une miliseconde par après…
Utiliser v2 (exemple de date #2) pour la date dans le TP.
Condition simplifiée: var chaine = (age<18) ? "enfant" : "adulte";
Switch: pas d'intervals dans les case. Mieux vaut ajuster la condition si possible (modulo par exemple) On autorise l'initialisation et la non documentation de i j k dans une boucle dans le genre:
for (var i = 0; bla; i++) { … }
Cours 7, 16 février 2005 Lien vide: <a href="#">
for spécial: for (variable in objet), variable va prendre tous les champs de l'objet (entre autres un tableau) ex.: var propriete;
for (propriete in un_objet) {
document.writeln(propriete + ": " + un_objet[propriete]);
}
ex.: var compteur;
for (compteur in tableau) { …
permet donc d'éviter de connaître la taille du tableau …
nota: à éviter généralement sauf dans un switch:
break sortir de la boucle
continue passe irectement à la prochaine itération utiliser plutôt une double condition.
reviser les balises HTML …
Cours 8, 9 mars 2005 Il existe aussi le bouton:
<button onClick="fonction();">
<font size=7>
Bla
</font>
</button>
Cours 9, 16 mars 2005
Champs texte dans formulaire:
var valeur = document.nomFormulaire.nomChamps.value;
ou l'inverse!
document.nomFormulaire.nomChamps.value = valeur;
voir Notes de cours\ch_validation_formulaire.pdf pour plus grande liste.
... document.formulaire.monOption[indice].checked
nota: dans les cas d'appels multiples, penser à utiliser le with
Cours 10, 23 mars 2005
parent: la page qui a ouvert celle-ci top: la plus ancienne de la lignée
mime type: quoi utiliser pour lire tel type de fichier
Dans les propriétés du document, chaque "tableau" permet les méthodes d'Accès suivantes:
- document.anchors[123]
- document.anchors["bla"]
- document.bla
Cours 11, 6 avril 2005 Target dans frames:
_blank, _self, _parent, _top
<IFRAME> … </IFRAME> cadre interne…
var maVar = setTimeout("mafonc()",1000);
clearTimeout( maVar );
même chose pour setInterval, mais se répète …
parent.nom_cadre.document.write("bla"); va vider la page, si la page est finie de charger!
maVar=window.open("url", "f1", …); utiliser maVar et non pas "f1" comme référence!
(pour maVar.document.write("bla"); par exemple …)