JavaScript L2
JavaScript L2
I. Introduction
Le JavaScript est une extension du langage html qui est incluse dans le code. Ce langage
de programmation apporte des améliorations au langage html en permettant d’exécuter des
commandes.
C'est un langage orienté objet à prototype, c'est-à-dire que les bases du langage et ses
principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais
qui sont chacun équipés de constructeurs permettant de créer leurs propriétés
Les prototypes sont un mécanisme au sein de JavaScript qui permet aux objets
JavaScript d'hériter des propriétés d'autres objets. Les prototypes implémentent un héritage
différent de celui rencontré dans les langages de programmation objets habituels.
Ceci est opposé aux langages de programmation dits statiques, dans lesquels de tels
changements ne sont normalement pas possibles.
2. Langage interprété :
Le langage JavaScript est un langage interprété c.-à-d. qu’il n’y a pas de compilation ni
de la pré-compilation, Le code source reste tel quel. Si on veut l'exécuter, il faut faire appel à
un interpréteur qui se chargera de l'analyser et de réaliser les actions qu'il contient.
JavaScript Java
Liaisons dynamiques : les références des Liaisons statiques : les objets doivent
objets sont vérifiées au chargement exister au chargement (compilation)
5. Le script
C’est une portion de code qui vient s’insérer dans une page html. Le code n’est toutefois pas
visible dans la fenêtre du navigateur car il est compris entre des balises (ou tags) spécifiques
qui signalent au navigateur qu’il s’agit d’un script écrit en langage JavaScript.
</script>
6. Les commentaires
Comme dans tout langage de programmation, il est toujours préférable et conseiller
d’ajouter des commentaires dans le programme qu’on crée pour les raisons suivantes :
D’une part pour s’y retrouver lorsque l’on voudra revoir le script
D’autre part pour permettre de comprendre le code
// : Pour mettre en commentaires toute une ligne
Donc il est toujours préférable d’ajouter le maximum de script à l’en-tête de la page c.-
à-d. dans la balise <head></head> et les évènements JavaScript seront placés dans le corps de
la page c.-à-d. dans la balise <body></body>
Syntaxe :
</script>
2. La déclaration de variables
JavaScript étant très souple au niveau de l’écriture (à double-tranchant car il laisse
passer des erreurs), la déclaration des variables peut se faire de deux façons :
De façon explicite, en faisant précéder la variable du mot clé Var qui permet d’indiquer
de façon rigoureuse qu’il s’agit d’une variable.
Le JavaScript est case sensitive (sensible à la casse), c.-à-d. qu’il fait une différence
entre un nom contenant des minuscules ou nom avec des majuscules.
Lorsqu’une variable est déclarée sans le mot clé var (ES5) ou let, const (ES6), c.-à-d. de
façon implicite, elle est accessible de partout dans le script. On parle alors de variables globales.
Lorsque l’on déclare de façon explicite une variable en JavaScript (en précédant sa
déclaration avec le mot clé var [ES5], let et const [ES6]), sa portée dépend de l’endroit où elle
est déclarée
Une variable déclarée au début du script, c.-à-d. avant toute fonction sera globale, on
pourra alors l’utiliser à partir de n’importe quel endroit dans le script.
Une variable déclarée par le mot clé var dans une fonction aura une portée limitée à cette
seule fonction, c.-à-d. qu’elle est inutilisable ailleurs, on parle alors de variable locale
4. Les types de données dans les variables
En JavaScript, il n’a pas besoin de déclarer le type de variables que l’on utilise;
contrairement à C ou Java, il faut préciser s’il s’agit d’entier (int), de nombre à virgule flottante
(float), de caractère (char), …
5. Les opérateurs
Les opérateurs sont des symboles qui permettent de manipuler des variables c.-à-d.
D’effectuer des opérations, les évaluer….
== Opérateur d’égalité
!= Opérateur de différence
Les opérateurs suivants effectuent des opérations bit-à-bit, c.-à-d. avec des bits de même
poids :
Opérateur Dénomination Effet
OU bit-à-bit Retourne 1 si l’un des deux bits de même poids est 1 (mais
^
exclusif pas le deux)
Exemples :
9 & 12 [1001 & 1100] = 8 [1000]
9 | 12 [1001 | 1100] = 13 [1101]
9 ^ 12 [1001 ^ 1100] = 5 [0101]
Les opérateurs suivants effectuent des rotations sur les bits, c.-à-d. qu’il décale chacun
des bits d’un nombre de bits vers la gauche ou vers la droite. Le premier opérande désigne la
donnée sur laquelle on va faire le décalage, le second désigne le nombre de bits duquel elle va
être décalée.
Par son intermédiaire, nous disposerons d’une description structurée du script HTML
et DOM fournit aussi le mode d’accès aux éléments constitutifs du modèle. DOM va être pour
nous un schéma d’accès pour atteindre les constituants (formulaire, champ, …) d’une page web
balisée.
Le modèle DOM est un arbre constitué d’objets Node (Nœuds). Il s’agit d’une
structure arborescence avec un nœud de type racine et des nœuds enfants
2. Définition de l’arborescence
2.1. Notion de nœud
Un langage de marquage comme HTML ou tout autre langage basé sur XML peut être
schématisé comme une arborescence hiérarchisée. Les différentes composantes d’une telle
arborescence sont désignées comme étant des nœuds. L’objet central du modèle DOM est pour
cette raison l’objet Node. Les autres nœuds en dépendent.
- Les méthodes
Méthodes Rôle
appendChild() Ajout d’un nœud enfant
cloneNode() Duplication d’un nœud
deleteData() Effacement des données en caractères
getAttribute() Recherche de la valeur d’un nœud attribut
getAttributeNode() Recherche d’un nœud
hasChildNodes() Contrôle d’existence de nœuds enfants
insertBefore() Insertion d’un nœud.
removeAttribute() Effacement de la valeur d’un nœud attribut
removeAttributeNode() Effacement d’un nœud attribut
removeChild() Suppression d’un nœud
replaceChild() Remplacement d’un nœud enfant
setAttribute() Définition de la valeur d’un nœud attribut
setAttributeNode() Définition d’un nœud attribut
3. Les interfaces du DOM
Parmi les interfaces du DOM, quelques-unes vont particulièrement nous intéresser :
L’objet document de l’interface Document est la racine de tous les nœuds d’un script
web. Cet objet particulier a ses propres méthodes s’appliquant au document dans la globalité :
Méthodes Rôle
Création d’un nouvel élément pour
createElement()
l’arborescence
createTextNode() Création d’un nœud de type texte
createAttribut() Création d’un nœud de type attribut
Récupération d’un élément portant l’id
getElementById()
spécifié
Récupération de l’élément portant le nom
getElementByName()
spécifié
Récupération d’un élément ayant le tag
getElementByTagName()
spécifié
querySelector()
querySelectorAll()