DOM (1)
• Un document HTML possède une
représentation interne, accessible
depuis l’application hôte
– Structure arborescente
– Un nœud de l’arborescence:
• donne accès à ses descendants
• informe sur la valeur courante des attributs
• effectue des modifications (valeurs des
attributs, structure du sous-arbre
DOM (2)
• Les langages de programmation
(réseau) offre des moyens d’accéder au
document, des méthodes pour les
inspecter/modifier/contrôler/
DOM (3)
• Un objet peut être composé d’autres
objets
– Un document HTML peut contenir un ou
plusieurs objets formulaires
– Le document peut offrir des méthodes
pour parcourir l’ensemble des formulaires,
les uns après les autres
JavaScript
<SCRIPT>
function howMany(selectObject) {
!!!var numberSelected=0;
!!!for (var i=0; i < selectObject.options.length; i++) {
!!!!!!if (selectObject.options[i].selected==true)
!!!!!!!!!numberSelected++;
!!!}
!!!return numberSelected;
}
</SCRIPT>
<FORM NAME="selectForm">
<P><B>Choose some music types, then click the button below:</B>
<BR><SELECT NAME="musicTypes" MULTIPLE>
<OPTION SELECTED> R&B
<OPTION> Jazz
<OPTION> Blues
<OPTION> New Age
<OPTION> Classical
<OPTION> Opera
</SELECT>
<P><INPUT TYPE="button" VALUE="How many are selected?"
onClick="alert ('Number of options selected: ' +
howMany(document.selectForm.musicTypes))">
</FORM>
JavaScript
• Langage interprété (pas de
compilation)
– Exécution ligne à ligne par un moteur
d’interprétation (embarqué avec le
navigateur)
• Langage non typé
– Le type des variables est implicite (selon
la valeur qui leur est affectée)
– Les variables sont globales (sauf si
déclarée dans une fonction)
JavaScript
• Structuration du code
– Structure de données: tableaux
(dynamiques)
– Structures de contrôle habituelle: boucles,
expression booléenne, etc.
– Blocs
– Fonctions
– Définition de classe (type d’objets)