Programmation web
A.U. 2020-2021
(Support de cours)
CSCI361A
Université Libanaise Internationale
Pr. Moustapha Mohamed Saleck
2
1. Introduction
Pourquoi JavaScript ?
Limites de HTML :
• HTML + CSS --> pages Web statiques.
• Nécessité d’un Web dynamique :
– Interaction avec l’utilisateur.
– Réponses à des événements.
– Animation du texte ou de graphiques.
– Gestion des objets multimédias du Web (images,
sons, vidéos, …).
– Autres fonctionnalités très poussées. 3
1. Introduction
C’est quoi JavaScript ?
C’est un langage de scripts :
• Un script est tout simplement un code : un ensemble
d’instructions.
• Objectifs d’un script :
– Manipuler;
– Personnaliser;
– Automatiser les facilités déjà offertes par le
langage de scripts.
• Exemples de langages de scripts :
4
– ECMAScript, JavaScript, JScript, Shell, Python,
VbScript, …etc.
1. Introduction
Propriétés de JavaScript :
Langage de programmation de scripts.
Orienté prototype.
Langage interprété et non compilé.
Langage portable : indépendant du système
d’exploitation de la machine sur laquelle s’exécute.
Java ≠ JavaScript.
5
1. Introduction
JavaScript dans HTML :
Les balises <SCRIPT> . . . </SCRIPT>
• Un script JavaScript peut être inséré dans un
fichier HTML en utilisant la balise <SCRIPT>.
• Exemple :
<html>
<head><title>Essai</title></head>
<body>
<script language = "JavaScript"> alert("Bonjour!!");
</script>
<h1>Test de JavaScript</h1> 6
</body>
</html>
1. Introduction
Les balises <SCRIPT> . . . </SCRIPT>
• Un script JavaScript externe peut être relié à un
fichier HTML en utilisant l’attribut SRC de la balise
<SCRIPT>.
• Exemple :
<script language = "JavaScript" src ="mon_script.js">
</script>
7
2. Les bases du langage
Syntaxe du langage :
• JavaScript est sensible à la casse : distinction entre
majuscules et minuscules (comme C).
• Typage des variables faible.
• Points-virgules « ; » à la fin de ligne sont optionnels.
• Commentaires identiques à C ou à Java :
// …
/* … */
• Les accolades { … } sont utilisées pour indiquer des
blocs de code. 8
2. Les bases du langage
Variables :
• Une variable est définie par le mot clé var :
o var n;
o var test = 0;
o var a, b;
• Typage faible :
o var n = 15;
o n = "Bonjour!!!";
o n = false;
9
2. Les bases du langage
Variables :
• Règles des identificateurs :
Un identificateur doit commencer par une lettre
{a, b, …, z, A, B, …, Z}, ou le caractère souligné
« _ », ou « $ »;
Il ne doit contenir que des lettres, des chiffres, des
caractères soulignés « _ » ou des caractères « $ ».
Exemples d’identificateurs valides : test _test
test1 test_2 $test _$test$
10
2. Les bases du langage
Valeurs :
• Valeurs primitives :
Une valeur primitive est une donnée stockée
directement dans l’emplacement de la variable.
Par exemple, les nombres, les valeurs booléennes,
les chaînes de caractères, …etc.
• Valeurs références :
Une valeur référence représente un pointeur vers
un emplacement mémoire.
11
2. Les bases du langage
Types primitifs :
• Booléen :
o Deux valeurs : true et false.
var test = true, choix = false;
• Number :
o Valeurs à la fois entières et réelles.
var iNum = 155; // décimal
var oNum = 011; // octal
var hNum = 0x1a; // hexadécimal
var fNum1 = - 1.1; // flottant 12
var fNum2 = 3.15e17; // flottant
2. Les bases du langage
• Number (suite) :
o Autres valeurs spéciales :
Infinity // + l’infini -Infinity // - l’infini
NaN // Not a Number
o Deux méthodes :
isFinite : teste si une valeur est finie.
isNaN : teste si une valeur n’est pas un nombre.
Exemples :
var n = 1/0 // n = Infinity
var test1 = isFinite(n) // test1 = false
13
var m = 0/0 // n = NaN
var test2 = isNaN(m) // test2 = true
2. Les bases du langage
• String :
o Valeurs : chaînes de caractères.
o Délimiteurs JavaScript :
– Guillemets : "
– Quottes : '
var ch1 = "Bonjour"; var ch2 = 'Bonjour';
• Undefined :
o Valeur unique : undefined
o Lorsqu’une variable est déclarée, mais non encore initialisée,
JavaScript considère que sa valeur est undefined.
var n1, n2 = 10;
14
var test1 = (n1 == undefined);
var test2 = (n2 == undefined); // test1 = true et test2 = false
2. Les bases du langage
• Null :
o Valeur unique : null
o Elle est utilisée pour représenter un objet qui n’existe
pas encore.
o Remarque :
– Les valeurs null et undefined sont égales, mais elles
ont des interprétations différentes.
– L’expression « null == undefined » a pour valeur
true.
15
2. Les bases du langage
Types références :
• Object :
o Les objets en JavaScript sont de simples
conteneurs de données et de méthodes.
o L’opérateur « new » permet de créer un nouveau
objet d’une certaine classe.
o Le type « Object » représente les valeurs de la
classe « Object ».
Exemple :
var obj = new Object();
16
2. Les bases du langage
L’opérateur « typeof » :
• Paramètres :
o Une variable ou une valeur constante.
• Rôle :
o Retourne le type d’une variable ou d’une valeur constante.
Exemples :
var num = 95;
var type1 = (typeof num); // type1 = "number«
var test = false;
var type2 = (typeof test); // type2 = "boolean"
17
var ch = "bonjour!";
var type3 = (typeof ch); // type3 = "string"
2. Les bases du langage
Les conversions : convertir à une chaîne
• La méthode « toString(base) » :
o Convertit une donnée en une chaîne de caractère.
o La base est par défaut = 10.
Exemples :
var test = true;
var strtest = test.toString(); // strtest = "true«
var n = 9, m = 10, p = 9.0;
var s1 = n.toString(); // "9"
var s2 = n.toString(2); // "1001"
18
var s3 = n.toString(8); // "11"
var s4 = m.toString(16); // "A"
2. Les bases du langage
• La méthode « parseInt(chaîne, base) » :
o Convertit une donnée en une valeur
o numérique entière dans la base indiquée.
• La base est par défaut = 10.
Exemples :
var n1 = parseInt("123"); // n1 = 123
var n2 = parseInt("1234Rt"); // n2 = 1234
var n3 = parseInt("0xA"); // n3 = 10
var n4 = parseInt("12.34"); // n4 = 12
var n5 = parseInt("bonjour"); // n5 = NaN
19
var n6 = parseInt("AF", 16); // n6 = 175
var n7 = parseInt("10", 2); // n7 = 2
2. Les bases du langage
• La méthode « parseFlot(chaîne) » :
o Convertit une donnée en une valeur numérique réelle.
Exemples :
var f1 = parseFloat("1234blue"); // returns 1234.0
var f2 = parseFloat("0xA"); // returns NaN
var f3 = parseFloat("22.5"); // returns 22.5
var f4 = parseFloat("22.34.5"); // returns 22.34
var f5 = parseFloat("0908"); // returns 908
var f6 = parseFloat("blue"); // returns NaN
20
2. Les bases du langage
Les conversions : Coercitions
• Les méthodes :
o Boolean (valeur) : convertit une valeur en une valeur
booléenne équivalente.
o Number (valeur) : convertit une valeur en une valeur
numérique équivalente.
o String (valeur) : convertit une valeur en une valeur
chaîne de caractères équivalente.
Exemples :
var b1 = Boolean(""); // false : chaîne vide
21
var b2 = Boolean("hi"); // true : chaîne non vide
var b3 = Boolean(100); // true : nombre non nul
2. Les bases du langage
Exemples (suite) :
var b5 = Boolean(null); // false : la valeur null
var b6 = Boolean(new Object()); // true : objet
var n1 = Number(false) // 0
var n2 = Number(true) // 1
var n3 = Number(undefined) // NaN
var n4 = Number(null) // 0
var n5 = Number("5.5") // 5.5
var n6 = Number("56") // 56
var n7 = Number("5.6.7") // NaN
var n8 = Number(new Object()) // NaN
22
var n9 = Number(100) // 100
2. Les bases du langage
La classe Object :
• Rôle :
o C’est la classe de base de JavaScript.
o Toute autre classe hérite de la classe Object.
o Toutes les propriétés (attributs) et les méthodes de la classe
Object sont également des propriétés et des méthodes de
toutes les autres classes.
• Propriétés :
o constructor : référence sur la fonction qui crée l’objet. Pour
la classe « Object », elle pointe vers la fonction native «
23
Object() ».
o prototype : référence sur le prototype de cet objet.
2. Les bases du langage
• Méthodes :
o hasOwnProperty(property) : détermine si une propriété donnée
existe pour l’objet. La propriété doit être spécifiée comme une chaîne
de caractères.
o isPrototypeOf(object) : détermine si l’objet est un prototype d’un
autre objet.
o propertyIsEnumerable(property) : détermine si une propriété
donnée peut être énumérée en utilisant l’instruction « for...in »
statement.
o toString() : retourne une représentation sous forme d’une chaîne
primitive de l’objet. 24
o valueOf() : retourne la valeur primitive la plus appropriée d’un objet.
2. Les bases du langage
• toFixed(nbChiffres) : retourne une chaîne représentant le
nombre avec un nombre spécifié de chiffres après la virgule.
La classe Boolean :
• Création d’objets booléens :
o var objBool = new Boolean(ture);
o var obj2 = new Boolean(false);
• L’argument « nbChiffres » : doit être un entier entre 0 et 20.
La classe Number :
• Création d’objets numériques :
o var objNum = new Number(18);
25
2. Les bases du langage
Exemple :
var n = new Number(99);
var s = n.toFixed(2); // s = "99.00«
var n = new Number(99);
var s = n.toExponential(1)); // s = "9.9e+1"
• toExponential(nbDecimals) : retourne une chaîne de
caractères qui représente le nombre sous la forme scientifique
La classe String :
• Création d’un objet String :
var s1 = new String(""); // s1 = "" : chaîne vide 26
var s2 = new String("Bonjour"); // s1 = "Bonjour"
2. Les bases du langage
• Propriétés :
o length : représente le nombre de caractères de la chaîne crée.
var s = new String("Bonjour");
var n = s.length; // n = 7
• Méthodes :
o charAt(position) : donne le caractère de la chaîne dont la
position est indiquée.
var s1 = new String("Bonjour");
var s2 = s1.charAt(2); // s2 = "n“
o charCodeAt(position) : donne le code du caractère de la
27
chaîne de la position désirée.
2. Les bases du langage
var s1 = new String("hello");
var s2 = s1.charAt(1); // s2 = "101"
o concat(chaîne) : concatène une chaîne à la fin de la chaîne
appelante.
var s = new String("he");
s.concat("llo"); // s = "hello«
o indexOf(ch) : donne la position de la première occurrence de « ch »
dans la chaîne appelante.
var s = new String("hello");
var n = s.indexOf("lo"); // n = 3
28
o lastIndexOf(ch) : donne la position de la dernière occurrence de «
ch » dans la chaîne appelante.
2. Les bases du langage
var s = new String("helolo");
var n = s.indexOf("lo"); // n = 4
o localCompare(ch): compare la chaîne appelante avec la chaîne en argument
(-1, si ch > l’appelante, 0 si ch = l’appelante et +1 si ch < l’appelante).
var s = new String("hello");
var n1 = s.localCompare("aello"); // n1 = 1
var n2 = s.localCompare("zello"); // n2 = -1
var n3 = s.localCompare("hello"); // n3 = -1
o toUpperCase(): transforme les caractères de la chaîne appelante en majuscule.
o toLowerCase(): transforme les caractères de la chaîne appelante en minuscule.
var s = new String("heLLo");
29
s.toUpperCase(); // s = "HELLO"
s.toLowerCase(); // s = "hello"
2. Les bases du langage
L’opérateur instanceOf :
• Permet de tester si un objet est instance d’une classe ou non.
• Il retourne un résultat booléen (true/flase) selon que l’objet
est une instance de la classe ou non.
var s = new String("hello");
var b1 = s instanceOf String; // b1 = true
var b2 = s instanceOf Number; // b = false
Les opérateurs :
• Arithmétiques :
Addition : + Soustraction et opposé : - Multiplication : *
30
Division : / Modulo : % Incrémentation : ++
Décrémentation : -- Négation bit à bit : ∼
2. Les bases du langage
Et bit à bit : & Ou bit à bit : | Xor (Ou bien) : ^
Décalage à gauche : << Décalage à droite signé : >>
Décalage à droite non signé : >>>
• Logiques :
Et logique : && Ou logique : || Non logique : !
• Comparaisons :
Supérieure : > Supérieure ou égale : >= Inférieure ou égale : <=
Inférieure : < Égale à : = Différent de : !=
Identiquement égale à : === Identiquement différent de : !==
var sNum = "55"; var iNum = 55;
31
var b1 = (sNum == iNum); // b1 = "true"
var b2 = (sNum === iNum); // b2 = "false"
2. Les bases du langage
• La différence entre « == » et « === » est que l’opérateur « == »
effectue une conversion de types des opérandes avant le test
d’égalité, alors que l’opérateur « === » n’effectue pas de
conversion de types.
• Par suite, l’expression « a == b » est vraie si et seulement si la
valeur de a (ou de b) peut se convertir en la valeur de b (ou de a).
Opérateur conditionnel :
• ?:
var a = 33; var b = -55;
var max = (a > b ? a : b); // max = 33 32
var valabs = (b >= 0 ? b : -b); // valabs = 55
2. Les bases du langage
Opérateurs d’affectation :
• Affectation simple : =
• Affectation composée : += -= *= /= %= <<= >>=
>>>= ~= ^= &= |=
Opérateur virgule :
var a = 11, b = 22;
Opérateur delete :
var o = new Object();
o.name = "chat";
delete o.name; // supprime name 33
2. Les bases du langage
Les instructions :
• Conditionnelles :
o if(condition) instruction1 else
instruction2
o switch(expression) {
case valeur_1 : instruction_1
case valeur_2 : instruction_2
...
case valeur_N : instruction_N
default: instruction 34
}
2. Les bases du langage
• Répétitives :
o While (condition) instruction
o do instruction while (condition);
o for (initialisation; condition, incrémentation) instruction
o for (propriété in expression) instruction
o With (expression) instruction
Exemple for-in :
for (p in document)
alert(p); // on affiche toutes les propriétés de l’objet document
35
2. Les bases du langage
Exemple with :
var p = "bonjour"
with(p) {
alert(toLowerCase());
alert(toUpperCase()); }
• L’instruction break :
o Provoque l’arrêt d’une boucle ou d’un switch.
• L’instruction continue :
o Provoque l’arrêt de l’itération courante, mais
pas la boucle. 36
2. Les bases du langage
Exemples de break et de
while(1)
{
var n = prompt("Un entier svp ");
if(n % 2 == 0) continue;
if(n % 3 == 0) break;
alert("je suis à l’intérieur\n");
}
alert("je suis à l’extérieur\n");
37
2. Les bases du langage
Les fonctions :
• Syntaxe de définition d’une fonction :
function nomFonction(Arguments)
{
Instructions
}
• Propriétés des fonctions :
o Elle peut avoir 0, 1 ou plusieurs arguments.
o Elle peut ne pas retourner de valeur.
o Pas de précision des types des arguments et de celui du 38
résultat.
2. Les bases du langage
o Si la fonction doit retourner une valeur, on utilise l’instruction
« return »
o Pas de surcharge.
o Elle peut ne pas retourner de valeur.
o Pas de précision des types des arguments et de celui du résultat.
o On peut accéder aux arguments d’une fonction en utilisant
l’objet arguments.
o Pour une fonction, arguments.length désigne le nombre de ses
arguments.
39
2. Les bases du langage
Exemple 1 :
// cette fonction affiche un message de salutation spéciale
function saluer(Nom, Message)
{
alert("Bonjour " + Nom + ", " + Message);
}
// appel de la fonction:
saluer("Ali", "Comment va-tu ?");
40
2. Les bases du langage
Exemple 2 :
// une fonction récursive (calcule la factorielle)
function fact(num)
{
if(num == 0) return 1;
else return num * fact(num - 1);
}
// appel de la fonction:
fact(0); // retourne 1
fact(3); // retourne 6 41
2. Les bases du langage
Exemple 3 :
// une fonction à nombre d’arguments variable
function sum() {
var n = arguments.length;
if (n == 0) alert("Rien !");
else { var s = 0, i;
for (i = 0; i < n; i++)
s += arguments[i];
alert(s); }
}
42
3. Les aspects orientés objet
Les objets et leurs classes
• Le concept d’objet :
o Un objet est une entité ayant des propriétés et des méthodes.
Exemple :
– La voiture de Ali est un objet.
o Une propriété d’un objet est un élément qui décrit un aspect
de l’état de cet objet.
Exemples :
– La voiture de Ali est une R19 (marque) et elle a une
blanche (couleur) (propriétés). 43
3. Les aspects orientés objet
o Une méthode d’un objet est un élément qui décrit un aspect du
comportement de cet objet.
o Une méthode décrit les actions ou les réactions que peut effecteur
ou subir un objet.
Exemple : la voiture de Ali peut démarrer, rouler, faire une
marche arrière, accélérer, et s’arrêter (méthodes).
• Le concept de classe :
o Une classe décrit un ensemble d’objets ayant la même structure et
les mêmes comportements.
o Une classe sert de modèle pour ses objets. 44
o Une classe est une abstraction d’un objet du monde réel (prototype).
.
3. Les aspects orientés objet
o On dit qu’un objet est une instance d’une classe
45
3. Les aspects orientés objet
Création d’objets :
• L’opérateur new :
o Il permet de créer un objet d’une certaine classe.
o On a déjà vu quelques exemples :
var obj = new Object();
var num = new Number(17);
var ch = new String("hello");
Types des objets en JavaScript :
• Les classes natives :
o Ce sont les classes primitives définies par le langage. Les classes
46
natives de JavaScript sont : Object Function Array String Boolean
Number Date RegExp Error EvalError RangeError ReferenceError
3. Les aspects orientés objet
• Les objets personnalisés :
o Ce sont les objets définis par le programmeur.
L’objet Math :
• Méthodes :
o round(nombre) : arrondie le nombre au nombre le plus proche.
o pow(base, exposant) : calcule une puissance.
o sqrt(nombre) : calcule la racine carrée d’un nombre.
o min(liste) : calcule le minimum d’une liste de valeur.
o max(liste) : calcule le maximum d’une liste de valeur.
47
o abs(nombre) : calcule la valeur absolue d’un nombre.
3. Les aspects orientés objet
La classe Array :
• Les objets Array :
o Un objet Array est un tableau.
o En JavaScript, un objet « Array » est un conteneur de
valeurs.
o Les types des valeurs d’un même tableau peuvent être
différents.
o Le premier élément se trouve à la position 0.
o Si « t » est un objet Array, alors l’expression « t[i] » désigne
l’élément qui se trouve en indice i. 48
3. Les aspects orientés objet
• Création d’un objet Array :
var p1 = new Array(); // un objet Array vide !
var p2 = new Array(10); // un objet Array de 10 éléments
var p3 = new Array(10, 14, 52);
// un objet Array ayant trois éléments qui sont 10, 14 et 52
var p4 = new Array(5, "Bye", true);
// un objet Array ayant trois éléments qui sont 5, "Bye" et true
• Accès à un élément d’un tableau :
var p = new Array(5, 7, 9);
var p1 = p[0]; // 5
49
var p2 = p[1]; // 7
var p3 = p[2]; // 9
3. Les aspects orientés objet
• Propriété length :
o Mémorise la taille d’un tableau (nombre de ses éléments).
Var p = new Array(5, 7, 9);
Var n = p.length; // 3
• Méthodes :
o toString(): renvoie une chaîne de caractères contenant les
éléments du tableau et séparés par des virgules.
var p = new Array(5, 7, 9);
var s = p.toString(); // "5,7,9"
50
3. Les aspects orientés objet
o join(ch) : renvoie une chaîne de caractères contenant les éléments du
tableau et séparés par la chaîne de jointure ch.
var p = new Array(5, 7, 9);
var s = p.join("#"); // "5#7#9"
o concat(liste) : ajoute à la fin des éléments à un tableau (sans effet de
bord).
var p = new Array(5, 7, 9);
p = p.concat(11); // p = (5,7,9,11)
o push(liste) : ajoute des éléments à la fin d’un tableau (opération à effet
de bord).
51
var p = new Array(5, 7, 9)
p.push(1, 8); // p = (5,7,9,1, 8)
3. Les aspects orientés objet
o pop(): supprime le dernier élément d’un tableau (opération à effet de
bord).
var p = new Array(5, 7, 9);
p.pop(); // p = (5,7)
o shift(): supprime le premier élément d’un tableau (opération à effet de
bord).
var p = new Array(5, 7, 9);
p.shift(); // p = (7,9)
o unshift(liste) : ajoute au début des éléments à un tableau (opération à
effet de bord).
52
var p = new Array(5, 7, 9);
p.unshift(2, 3); // p = (2,3,5,7,9)
3. Les aspects orientés objet
o reverse() : renverse un tableau (opération à effet de bord).
var p = new Array(5, 7, 9);
p.reverse(); // p = (9,7,5)
o sort() : trie un tableau dans l’ordre croissant (opération à effet
de bord).
var p = new Array(9, 7, 5, 3);
p.sort(); // p = (3,5,7,9)
53
4. Les objets personnalisés :
Définition des classes et des objets :
• Création d’un objet personnalisé :
var voiture = new Object; // création d’un objet voiture
o Les propriétés et les méthodes des objets peuvent être
définies d’une façon dynamique, après la création de l’objet.
var voiture = new Object;
voiture.couleur = "rouge";
voiture.puiss_fisc = 5;
voiture.nb_portes = 2;
voiture.marque = "Peugeot 205"; 54
4. Les objets personnalisés :
voiture.afficher = function() {
alert("Couler : " + voiture.couleur);
alert("Marque : " + voiture.marque);
alert("Puissance fiscale : " + voiture.puiss_fisc);
alert("Nombre de portes : " + voiture.nb_portes); }
• L’opérateur this :
o « this » est un pointeur qui pointe vers l’objet qui l’appelle.
o Il permet de réutiliser une même méthode de plusieurs objets.
var v1 = new Object;
v1.couleur = "rouge";
55
v1.print = function() { alert(v1.couleur); }
v1.print(); // affiche "rouge"
4. Les objets personnalisés :
var v2 = new Object;
v1.couleur = "grise";
v2.print = function() { alert(v2.couleur); }
v2.print(); // affiche "grise"
o Une autre façon consiste à factoriser par la fonction « print ».
o Dans ce cas, il faut afficher la couleur de l’objet (la voiture)
appelant.
o Dans ce contexte, l’utilisation de this est obligatoire.
function print() { alert(this.couleur); }
v1.print = print; v2.print = print;
56
v1.print(); // affiche "rouge"
v2.print(); // affiche "grise"
4. Les objets personnalisés :
Réécriture de l’exemple :
var voiture = new Object;
voiture.couleur = "rouge";
voiture.portes = 2;
voiture.marque = "Peugeot 205";
voiture.puiss_fisc = 5;
voiture.afficher = function() {
alert(this.couleur);
alert(this.marque);
alert(this.portes);
57
alert(this.puiss_fisc); }
voiture.afficher(); // appel de la méthode
4. Les objets personnalisés :
Création d’objets à partir des fonctions :
Exemple 1 :
function creerVoiture() {
var temp = new Object;
temp.couleur = "rouge";
temp.marque = "Peugeot 205";
temp.portes = 2;
temp.print_couleur = function() {
alert(this.couleur); }
return temp; } 58
4. Les objets personnalisés :
Exemple 1 :
var v1 = creerVoiture(); // création des objets voitures
v1.print_couleur(); // affiche "rouge«
var v2 = creerVoiture();
v2.couleur = "noire";
v2.print_couleur(); // affiche "noire"
Exemple 2:
function creerPC(proc, ram) {
var pc = new Object;
pc.proc = proc; 59
pc.ram = ram;
4. Les objets personnalisés :
pc.print_config = function() {
alert("Microproc: " + this.proc + ", RAM : " + this.ram); }
return pc; }
var My_pc = creerPC("P4", 512);
My_pc.print_config();
60
4. Les objets personnalisés :
Exemple 3:
function get_info() {
var msg = "titre : ";
msg += this.titre + ", auteur : ";
msg += this.auteur + ", éditeur : ";
msg += this.editeur + ", année : "; msg += this.annee;
alert(msg); }
function livre(titre, auteur, editeur, annee) {
this.titre = titre; this.auteur = auteur;
this.editeur = editeur; this.annee = annee;
61
this.info = get_info;
}
4. Les objets personnalisés :
var tit = "JavaScript language";
var aut = "A. Dargham";
var edi = "Al madarisse";
var ann = 1997;
var my_book = new livre(tit, aut,edi, ann);
my_book.info();
Exemple 4 :
function book() { }
book.prototype.author = "";
book.prototype.title = "";
62
book.prototype.editor = "";
book.prototype.year = 2009;
4. Les objets personnalisés :
book.prototype.pages = 100;
book.prototype.showYear = function() { alert(this.year); }
var my_book = new book();
my_book.showYear();
var your_book = new book("M. Cormen", "Introduction à
l’algorithmique", "Dunod", 2008, 540);
your_book.showYear();
63