CoursJavaScript Id2115 PDF
CoursJavaScript Id2115 PDF
N7 Cours
Michel Cabaré
Décembre 2000
T A B L E D E S M A T IE R E S
QU’EST-CE JAVASCRIPT.................................................................................................... 6
Présentation............................................................................................................... 6
Objectifs ..................................................................................................................... 7
Les plus et …les moins : ............................................................................................ 7
APPEL D’UN SCRIPT JAVASCRIPT .................................................................................... 8
Les différents appels ................................................................................................ 8
Dans le navigateur :................................................................................................. 8
Tag spécifique ........................................................................................................... 9
Tag pré existant ......................................................................................................... 10
Tag <NOSCRIPT> ........................................................................................................ 12
UN PEU DE SYNTAXE.......................................................................................................... 14
Min - maj :................................................................................................................... 14
Commentaires :......................................................................................................... 14
Expression :................................................................................................................. 14
Bloc : ........................................................................................................................... 14
LES VARIABLES .................................................................................................................... 15
Déclaration :.............................................................................................................. 15
Mots réservés :.......................................................................................................... 15
Variable locale-globale : ........................................................................................ 16
LES TYPES DE VARIABLES................................................................................................... 17
Principe :..................................................................................................................... 17
Chaîne de caractère - string :................................................................................ 17
Les nombres - number :............................................................................................ 19
Les booléens - boolean :......................................................................................... 20
PROCEDURES ET FONCTIONS........................................................................................... 22
Définir et appeler des fonctions / procédures : ................................................. 22
Déclaration de procédure : ................................................................................... 22
Déclaration de fonction :........................................................................................ 23
Appel de procédure :.............................................................................................. 23
Appel de fonction : .................................................................................................. 23
Gestion des arguments :.......................................................................................... 24
LES OPERATEURS................................................................................................................. 25
Arithmétiques :........................................................................................................... 25
Concaténation : ....................................................................................................... 25
Comparaison :........................................................................................................... 26
Affectation :............................................................................................................... 27
JavaScript Cabaré Michel-
Page 2
Cours v.2
Binaires :...................................................................................................................... 27
Logiques : ................................................................................................................... 29
Conditionnels :........................................................................................................... 29
P résentation
L'emploi de javascript est devenu aujourd'hui indispensable pour qui veut créer un
site Web convivial et performant.
Auparavant, la majorité des traitements effectués dans les documents HTML étaient
réalisés par l'action du serveur et le poste client était très passif, puisque celui-ci se
bornait quasiment à afficher les résultats des requêtes que lui soumettait le dit
serveur ! En effet, un programme ou un script CGI (Common Gateway Interface)
était exécuté par le serveur qui transmettait le résultat au poste client, celui-ci
interprétait l'envoi HTML et l'affichait par le navigateur. Cette situation surchargeait
énormément les serveurs et le réseau...
Il est vrai que le langage JAVA et aussi capable et même plus que le Javascript,
mais celui-ci est réservé à des spécialistes. Il permet beaucoup plus mais est
beaucoup plus lourd, car il nécessite une bonne connaissance de la programmation
(Objet), un compilateur (il est compilé àl'inverse du Javascript), un débogueur etc.
Le couple HTML-Javascript est très souple, accessible àla plupart des Webmasters et
sa popularité ne cesse de grandir car il permet un réelle autonomie au poste client,
même s’il ne peut accéder au fichiers du poste client sur lequel il s’exécute !
Il ne s’agit pas ici vous donner une approche complète du langage Javascript (un
livre entier serait nécessaire) mais de vous aider àen découvrir les notions de bases,
pour ensuite les appliquer de manière très pratique
O rienté O b jet
Javascript intègre une forme limité de modèle orienté objet (voir plus loin) chapitre
L e s p lu s e t …les m o in s :
Plus : interprété, la phase test-essais ne nécessite pas de compilation et
est dons très rapide
L e s d iffére n ts appels
Pour qu'un document HTML puisse exécuter des traitements par le biais de scripts
Javascript, il faut en premier lieu que celui-ci comprenne les scripts écrits dans ce
langage. En effet, le Javascript est un langage de scripts et le navigateur interprète
ceux-ci lors du chargement de la page HTML :
Nous allons le voir, plusieurs manières peuvent être employées pour l'insertion d'un
script Javascript dans un document HTML :
D a n s le n a v ig a teur :
La première manière, pour exécuter un script peut être de taper directement l'appel
dans la zone de saisie de l'URL dans le navigateur utilisé, (voire de taper directement
l'instruction javascript) : il suffit de le faire précéder du mot réservé javascript:
Appel dans
Nestcape
Explorer
T a g s p é c ifiq u e
plus classiquement, on insère un script à l'aide d'une balise spécifique <SCRIPT> qui
doit être insérée dans le document HTML même.
LANGUAGE="JavaScript"
SRC
Par exemple :
SCRIPT LANGUAGE="JavaScript">
...contenu du script...
</SCRIPT>
Ceci peut être complété, pour raison de compatibilité avec les navigateurs de
version inférieure, par l'adjonction des balises de commentaires HTML, qui
permettront ainsi aux navigateurs plus anciens d'ignorer le contenu du script.
S crip t d a n s u n e p a g e H T M L:
<BODY>
<script LANGUAGE="JavaScript">
<!--
Voir le fichier alert (' bonjours')
COURSJS01.HTM //-->
</script>
exemple de script minimaliste, mais existant !
</BODY>
Selon que vous voulez utiliser une version ou une autre du JavaScript, vous devrez
mettre des balises différentes.
JavaScript
I.Explorer 3.0 - Netscape 2.0 <SCRIPT LANGUAGE="JavaScript1.0">
1.0
JavaScript
Netscape 3.0x , 4.0 et 4.x <SCRIPT LANGUAGE="JavaScript1.1">
1.1
Voir le fichier
COURSJS02.HTM et le avec dans le fichier :
fichier COURSJS02.JS // début du script -->
...contenu du script...
// Fin du script -->
A p p e l d irect
Il est possible d'employer une fonction intégrée du Javascript par le seul ajout de ce
code dans la balise de l'élément mais cela restera très limité.
Par exemple :
<BODY>
exemple de script minimaliste, <BR>
Voir le fichier mais existant au click sur ce bouton
COURSJS03.HTM <form>
<input type="button" value="cliquez sur moi !" onClick="alert('ouille !')" >
</form>
</BODY>
A p p e l d e fonction
Mieux vaut l'ajout d'un appel de fonction spécifique dans la balise de l'élément qui
lancera le traitement. Ce code servira très souvent àlancer une fonction définie dans
Par exemple :
<script language="JavaScript">
<!--
function hurle()
{
alert("ouille !, mais après tout aussi merci de m\'avoir donné
Voir le fichier l\'occasion de m\'exprimer")
COURSJS04.HTM }
//-->
</script>
</HEAD>
ce qui permet de définir au préalable un script parfois important sous le nom hurle()
ce qui permet d'appeler le script défini plus haut par son nom hurle()
N.B: Vous avez remarqué un caractère "\" (barre oblique inverse), appelé caractère
d'échappement, placé avant l'apostrophe placé devant le mot "image" ! En fait,
l'apostrophe est un caractère qui fait partie de la syntaxe du code Javascript
(comme les guillemets) et pour indiquer que cet apostrophe particulier ne doit pas
être interprété comme tel, il faut placer ce caractère ("\") avant l'apostrophe (ou les
guillemets)
T a g < N O S C R IP T >
Si l'utilisateur qui visionne vos documents HTML, comprenant des scripts n'a pas
activé l'option appropriée, il est possible de lui donner un message particulier. En
effet, tout texte inséré avec la balise spécifique <NOSCRIPT> verra celui-ci affiché
tandis que le navigateur de ceux pour qui l'option est activée ignorera le texte...
Dans Explorer cela dépends des zones de sécurité que l'on a mis en place (mais ne
peut s'appliquer au fichier téléchargés localement…)
M in -m a j :
Html n'est pas regardant sur les problèmes de minuscule ou de majuscule, il lui suffit
de retrouver la bonne "syntaxe", quelle que soit la casse
Javascript est sensible àla casse et fera donc clairement la différence entre
C o m m e n ta ire s :
Les commentaire HTML débutent par
<!-- et se terminent par -->
Les commentaires Javascript existent de deux sortes
Expressio n :
Toute expression se termine par un ;
Certain navigateurs acceptent un retour àla ligne
B lo c :
On peut regrouper plusieurs expressions entre elles pour créer des "blocs"
{ expression 1;
expression 2;
D éclaration :
Pour représenter, manipuler, stocker ou modifier des valeurs, fournies dans un code
Javascript, comme dans tout langage de programmation, il faut utiliser des
variables.
En javascript, la déclaration des variables est très simple car très peu différenciée. Il
n'est pas obligatoire, mais recommandé, de déclarer des variables par le mot clé
"var".
Dans ces exemples, il y a deux variables (adresse et numero) auxquelles ont été
attribuées directement des valeurs, et deux autres (_ex et y) sans valeur initiale.
M o ts réservés :
Voici la liste des mots réservés. Ce sont des mots que vous ne pouvez pas utiliser
comme nom de variable, de fonctions ou autre identificateur.
with
Varia b le lo c a le -g lo b a le :
On parle de variable locale lorsque la variable a été déclarée dans une fonction
(locale). Cette variable n’est connue que dans la fonction
<script LANGUAGE="JavaScript">
function message()
{var adresse = "Paris"
return adresse }
</SCRIPT>
P rin c ip e :
On l’àdéjàdit, il n'est pas obligatoire, mais seulement recommandé, de déclarer des
variables.
A ce titre il faut savoir que Javascript n’étant pas un langage compilé mais
interprété, leur type sera éventuellement choisit selon le contexte voulut. Le typage
étant assez faible, une variable déclarée dan un type peut être utilisée dans un autre
type sans que un message d'erreur n'apparaisse. Parfois un navigateur "plantera"
mais sans que l'on sache véritablement pourquoi...
• les Nombres
• les Booléens
C h a î n e d e c a r a c tère - strin g :
Le type de la variable va dépendre de ce que nous allons y mettre (on dit aussi
"stocker") Le plus souvent, pour mettre quelque chose dans une variable, on utilise
l'instruction suivante :
MonPrenom = "michel"
Le signe "=" est l'instruction qui permet de dire à l'interpréteur JavaScript : range la
valeur "michel" dans le casier appelé MonPrenom.
Comme la plupart des langages, JS détermine par des apostrophes ( ' ) ou des
guillemets ( " ) le début et la fin de la Chaîne de caractères
Mais on ne peut mélanger les deux symboles
I = ‘bonjours’
2 écritures correctes
I = "bonjours"
Il existe des caractères spéciaux, qui peuvent être placés dans les constantes de
chaîne de caractères (caractères entourés d'apostrophes ou de guillemets mais sans
mélange) et qui permettent d'insérer :
de même que pour faire apparaître certains caractères il faut préciser àl'interpréteur
de ne pas … les interpréter
'alert('Bonjour ')' ne le
N.B: la règle générale étant quand même que tout ce qui est renvoyé
sont
par Javascript (ici Onclick) doit être entre " (guillemets)
L e s n o m bres - n u m b e r :
Si nous utilisons la variable appelée MonPoids et que nous lui affections la valeur 70
par l'instruction :
MonPoids = 70
Sans guillemets, la valeur 70 sera considérée comme un nombre. Nous dirons alors
que la variable MonPoids est de type Number (nombre, ou numérique). Et elle le
restera jusqu'à ce que nous décidions de lui affecter une autre valeur à notre
convenance.
N.B: si l'on avait écrit : MonPoids = "70", le chiffre "70" entre guillemets,
aurait signifié que "70" est une chaîne de caractères, et la variable
aurait été de type String. Ce qui nous empêcherait par la suite
d'effectuer des calculs sur le contenu de cette variable, puisque
nous verrons que l'on ne peut effectuer d'opérations mathématiques
sur les chaînes de caractères (variables de type String).
Il n'y a pas de différence en Javascript entre les nombres entiers et les réels, et en
général toutes les opérations sur les nombres se font sur des réels
Particularité :
Correspondances entre
DÉCIMAL - HEXADÉCIMAL - BINAIRE
0 0 0
1 1 1
2 2 10
4 4 100
5 5 101
6 6 110
7 7 111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
L e s b o o léens - b o o le a n :
Voyons maintenant le cas d'un de type de variables moins évidents.
Imaginons une variable appelée JeMents. et affectons lui la valeur true (vrai) par
l'instruction :
JeMents = true
On dira alors que la variable est de type Boolean (booléen, ou logique). Il n'existe
que deux valeurs Boolean, qui sont :
• "true" (vrai)
• "false" (faux)
Ces valeurs purement informatiques serviront à effectuer des tests, à vérifier si une
situation est vraie ou fausse.
Les mots true et false sont des mots réservés JavaScript. On ne pourra donc pas les
utiliser comme noms de variables.
Ne prennent que deux valeurs possibles, prises notamment quant au résultat des
opérations de comparaison :
(*) mais toute valeur différente de 0 dans une comparaison donnera true
Il est important de faire la différence entre définir une fonction et appeler une
fonction. Définir une fonction ne fait que la nommer, et dire quoi faire quand cette
fonction est appelée. Appeler une fonction fait exécuter une fonction avec ses
paramètres
La différence entre des fonctions ou des procédures se situe dans le fait qu'une
fonction est un sous-programme (procédure) particulier qui a pour caractéristique
de renvoyer une valeur, tandis qu'une procédure normale ne le fait pas.
Les fonctions devant être connues avant d'être utilisées, souvent on les définira dans
la section d'en-tête de la page HTML (<HEAD> </HEAD>)
Aucune vérification de cohérence n'est faite sur les éventuels paramètres passés, ni
sur leur nombre et encore moins sur leur type
D éclaration de procédure :
Toute procédure, pour être déclarée dans un script, doit posséder un nom et ensuite,
un ou des paramètres: ces derniers sont optionnels
A p p e l de procédure :
Toute procédure, peut être utilisée dès qu’elle est connue
function proc1 (p1,p2)
{
déclaration
code de la procédure
}
appel proc1(x,y)
A p p e l d e fo n c tio n :
Toute fonction, peut être utilisée dès qu’elle est connue
function fonc1 (p1,p2)
déclaration {
code de la procédure
return(result)
}
appel avec
stockage du a = fonc1(x,y)
résultat renvoyé
En effet, si aucun argument n'est déclaré derrière function, la fonction garde tout de
même l'accès àtous les arguments qui peuvent lui être transmis…
function affiche()
{
var argv=affiche.arguments;
var argc=argv.length;
COURSJS06B.HTM var cpt
alert("vous avez passé " + argc + "arguments");
for (cpt=1; cpt<=argc; cpt++)
{
alert("voila le " + cpt + "argument" + argv[(cpt-1)]);
}
}
onClick = "affiche();">
onClick = "affiche(1,2);">
onClick = "affiche(1,'deux',3,'quatre',5);">
A rith m étiq u e s :
n'ont de sens que s'ils sont utilisées sur des variables de type Number
• l'addition (+)
• la multiplication (*)
• la soustraction(-)
• la division (/)
C o n c a tén a tio n :
l'opérateur de concaténation ( +)
c'est exactement le même que celui utilisé pour l'addition simplement il porte sur des
variables de type string
i = "bonjours" + 1
y = 50 + "Fr"
<script LANGUAGE="JavaScript">
<!—
COURSJS07.HTM // essayer "3"<10 puis 3<"10" et enfin "3"<"10" //
if (3<10)
alert("valeur true")
else
alert("valeur false")
//-->
</script>
3<10 true
Notation abrégée
Opération L'opérateur est mis devant le signe
=
x=x+y x += y
x=x-y x -= y
x=x*y x *= y
x=x/y x /= y
x=x&1 x &=b
x=x|b x |= b
x=x^b x ^= b
x = x << b x <<= b
x = x >> b x >>= b
x = x +1 ++x ; x++
Le placement des opérateurs avant la variable (++a, --a) réalise une affectation
antérieure à l'opération en cours. Le placement après réalise l'affectation après
l'opération en cours.
B in a ires :
Uniquement pour ceux que cela intéresse…
ET logique (AND)
OU logique (OR)
la négation (NOT)
!
donne l'inverse logique
C o n d itio n n e ls :
Dans l'écriture
Bien sûr il s'agit ici d'une forme simple des instructions conditionnelles classiques qui
existent d'ailleurs en Javascript
<script LANGUAGE="JavaScript">
"bonjour" s'affiche car : <!—
• false =0 a = 122
if (a) alert("bonjour"); // TRUE est non nul
• true différent de 0
a=0
"Aurevoir" s'affiche car : if (!a) alert("Aurevoir "); // !0 vaut souvent 1 (TRUE)
• true différent de 0
b=10
if (a==b) alert ("égal")// comparaison classique
"non égal " s'affiche car else
compare 0 et 10 alert("non égal")
var c
c="" // essayer de passer cette affectation en commentaire
if (c == null) alert ("la variable est vide et vaut "+c)
else
alert ("la variable est initialisée et vaut "+c)
//NULL n'est pas équivalent à un zéro, mais à "non-affecté",
//la chaine = ""; est une chaîne sans caractère mais initialisée
//-->
</script>
if e lse :
Les mots clés pour un si sont if else avec l'indentation suivante
Les imbrications sont possibles, et le else est apparié au dernier if n'ayant pas de
else.
W h ile :
Crée une boucle qui répète l'exécution du code tant que la condition est vraie. Si la
condition est vraie dès le début, le programme n'entre pas dans la boucle.
S y n taxe :
while (condition) {
code
}
Param ètre :
condition la condition de sortie de la boucle.
Fonctionnem ent :
Les mots clés pour un tant que sont while avec l'indentation suivante
while (test)
{... Si le test est vrai , on exécute le bloc
... d'instruction à l’intérieur du tant que, puis on
... remonte voir si le test est vrai ou faux
} Si le test est faux, on passe à la suite
...
N.B.: s'utilise quand àpriori on ne sait pas combien de fois on va "boucler". En général
dans les instructions répétées il y en a forcément une qui àun moment donné fera
passer le test = Vrai (Sinon cela risque de ne jamais s'arrêter.)
S y n taxe :
do{
code
}while (condition);
Param ètre :
condition la condition de sortie de la boucle.
Fonctionnem ent :
Les mots clés pour un tant que sont do while avec l'indentation suivante
do
{... On execute le bloc
... Si le test est vrai , on exécute le bloc
... d'instruction à l’intérieur du tant que, puis on
} remonte voir si le test est vrai ou faux
while (test)
...
Si le test est faux, on passe à la suite
E x e m p le :
i=0;
do{
i++;
document.write(i);
} while (i<10);
S y n taxe :
for ([valeur initiale] ; [condition] ; [incrément]) {
code
}
Param ètre :
• valeur initiale : valeur initiale de la variable compteur.
Fonctionnem ent :
…
For( var i=début ; i<= fin ; i=i+x)
{... On exécute le bloc d’instruction autant de
... fois que nécessaire pour que i passe de la
... valeur début à la valeur fin
}
(en augmentant de x à chaque fois)
i <= fin; veut dire : tant que le compteur aura une valeur inférieure
ou égale àfin;
N.B: la version minimale nécessaire est Javascript 1.2 (c.a.d. Netscape 4.0x) ou
Jscript 3.0 (c.a.d. Explorer 4.x)
S y n taxe :
switch (expression) {
case label :
code;
break;
case label :
code;
break;
...
default : code;
E x e m p le :
switch (langue) {
case "français" :
alert("Bonjour");
break;
case "english" :
alert("Hello");
break;
default : alert("langue inconnue");
}.
Les fenêtres de dialogue sont utiles pour communiquer avec l'utilisateur. On peut
simplement faire afficher un message ou encore demander une réponse de la part
de l'usager.
Méthode Description
Pour une compréhension plus complète des notions de méthode, d'objet se reporter
au chapitre " notion de P.O.O " (page Erreur ! Signet non défini. )
Affiche une boîte de message d’avertissement et un bouton OK. Cette méthode est
utilisée pour avertir l’utilisateur seulement, il n’a aucune décision àprendre.
Même si la méthode alert utilise l’objet window, on n’a pas besoin de spécifier une
fenêtre de référence lors de l’appel.
S y n taxe
alert("unMessage")
unMessage est une chaîne de caractères ou une propriété d’un objet existant.
E x e m p le
En voici un exemple:
<SCRIPT LANGUAGE="JavaScript">
<!-- Debut script
alert("Bienvenue en formation");
// Fin script -->
</SCRIPT>
c o n firm ()
La méthode confirm() est utile lorsque l'on désire poser une question à l'utilisateur
dont la réponse est positive ou négative.
Même si la méthode confirm utilise l’objet window, vous n’avez pas besoin de
spécifier une fenêtre de référence lors de l’appel.
S y n taxe
confirm("unMessage")
unMessage est une chaîne de caractères ou une propriété d’un objet existant.
La méthode alert() est ensuite utilisée pour faire afficher le résultat. C'est donc une
variable qui détient la valeur retournée par la fenêtre de dialogue, dans ce cas-ci la
variable reponse.
<SCRIPT LANGUAGE="JavaScript">
<!-- Debut script
reponse =confirm("Répondez par ok ou annuller");
alert("vous avez répondu la valeur " + reponse );// Fin script -->
</SCRIPT>
prom p t()
La méthode prompt sert à recueillir de l'information de la part de l'usager. En effet,
une case de texte invite l'utilisateur àentrer l'information.
Même si la méthode prompt utilise l’objet window, vous n’avez pas besoin de
spécifier une fenêtre de référence lors de l’appel.
S y n taxe
prompt(Message, [valeurDéfaut])
Message est une chaîne de caractères ou une propriété d’un objet existant. La
chaîne de caractères représente le message.
valeurDéfaut est une chaîne de caractères, un entier ou une propriété d’un objet
existant qui représente la valeur de défaut du champ d’entrée. Si vous ne donnez
pas de valeur initiale pour valeurDéfaut, la boîte de dialogue affichera la valeur:
<undefined>.
Lorsque l'utilisateur n'entre aucune valeur, la fenêtre retourne la valeur par défaut,
soit "e-mail" (le 2è paramètre).
Si l'utilisateur entre une valeur, c'est celle-ci qui sera stockée dans la variable
reponse.
Si aucune valeur n'est passée en deuxième paramètre, et que l'utilisateur valide sans
effectuer de saisie, la valeur undefined sera renvoyée.
N a ture des ta b le a u x :
Les tableaux en javascript ne sont pas forcément un ensemble de variables de
même types, comme dans les langages de programmation classiques, il s’agit en
fait de tableaux associatifs, dans lesquels on stocke un ensemble d’association
pouvant être très dissemblables, il s'agit d'un ensemble de valeurs désigné par un
seul nom de variable
On utilise ici
l'opérateur et on pourrait initialiser classiquement ce tableau avec un code du genre
new sur un for ( var j=0; j<3; j++)
objet prédéfini {
Array Eleve[j]=""
}
N.B: un tableau constitué avec des indices numériques reste donc lisible
"classiquement" comme dans tout langage de programmation
par
Eleve=["durand","dupont","Ernest"]
Un tableau associatif se déclare donc de manière identique (en fait tous les tableaux
sont associatifs en javascript)
Tabass = new Array(3)
Pour faire afficher toutes les éléments d'un objet on utilise l'instruction for in
instructions
N.B: un tableau constitué avec des indices non numériques, donc associatif, ne peut
être lu classiquement et doit être parcouru uniquement de la manière décrite ci-
dessus
javascript utilise des tableaux associatifs sur les objets, les images les formulaires
d'une page HTML
et on ne peut plus for ( var j=0; j<3; j++) // cela ne marche plus
utiliser une {
méthode de document.write("Valeur de tab[" + j + "] = " + tab[j] +"<BR>");
parcours }
"classique"
soit on liste tous les // c'est lourd si les éléménts sont nombreux
éléments document.write("Valeur de tab[elem1] = " + tab["elem1"] +"<BR>");
document.write("Valeur de tab[elem2] = " + tab["elem2"] +"<BR>");
document.write("Valeur de tab[elem3] = " + tab["elem3"] +"<BR>");
soit on s'adapte ! for (ind in tab) // mais ici l'ordre de parcours n'est pas garanti !
{
document.write("Valeur d'un element x de tab " + tab[ind] +"<BR>");
}
Dans un script, on souhaite manipuler des élèves, sous forme de tableau associatif.
Créer un script dans lequel on déclare un eleve nommé eleve, dont le nom est
"durand", l'âge est 45 et la note est 12.5
montrez comment on peut afficher à l'écran toutes les valeurs caractérisant cet
élève...
tab.reverse ();
for (ind in tab)
{
document.write("Valeur d'un element x de tab " + tab[ind]+"<BR>");
}
tab.sort();
for (ind in tab)
{
document.write("Valeur d'un element x de tab " + tab[ind] +"<BR>");
}
document.write("liste des valeurs" + tab.join() +"<BR>");
taille = tab.length;
document.write("taille de tab " + taille +"<BR>");
Q u 'est-ce un évènem e n t:
Un des principaux intérêts de javascript est de pouvoir modifier le comportement du
navigateur grâce aux actions de l'utilisateur.
On s'appuie pour cela sur la notion d'événement, qui représentent les principales
actions de l'utilisateur: le passage de la souris, un clic de la souris, chargement d'une
image
Comme on peut le voir dans le tableau ci-dessous, le liste est longue et parfois
même très riche…
Œ Toute les balises HTML acceptent tous leurs paramètres standard, le fait
que une gestion d'événement soit prévue ne change rien àla syntaxe
purement HTML de la balise
• Bien sûr toutes les actions ne sont pas possibles sur toutes les parties de
la page HTML ou du navigateur, et on à ainsi des "couples" qui
permettent de connaître les combinaisons possibles "objet-
événement" qui pourront déclencher des scripts Javascript
LABEL, INPUT,
Un élément n'est plus sélectionné
onBlur SELECT, TEXTAREA, 3.0
avec le clavier
BUTTON
LABEL, INPUT,
Un élément est sélectionné avec le
onFocus SELECT, TEXTAREA, 3.0
clavier
BUTTON
• Image <IMG>
Exemple:
<IMG SRC="unURL" onAbort="nomFonction">
Exemple:
<INPUT TYPE="text" VALUE="uneValeur" NAME="unNom" onBlur="nomFonction">
Exemple:
<INPUT TYPE="text" VALUE="uneValeur" NAME="unNom" onChange="nomFonction">
Exemple:
<INPUT TYPE="button" VALUE="uneValeur" onClick="nomFonction">
• Image <IMG>
Exemple:
<IMG SRC="unURL" onError="nomFonction">
Exemple:
<INPUT TYPE="text" VALUE="uneValeur" NAME="unNom" onFocus="nomFonction">
• L'image <IMG>
Exemple:
<BODY onLoad="nomFonction">
Exemple:
<AREA SHAPE=".." COORDS=".." HREF=".." onMouseOut="nomFonction()">
Exemple:
A HREF="unURL" onMouseOver="nomFonction()"> </A>
AREA SHAPE=".." COORDS=".." HREF=".." onMouseOver="nomFonction()">
Exemple:
<FORM ACTION="URL" METHOD=POSTouGET onReset="nomFonction()">
Exemple:
<INPUT TYPE="text" VALUE="uneValeur" NAME="unNom" onSelect="nomFonction">
Exemple:
<FORM ACTION="URL" METHOD=POSTouGET onSubmit="nomFonction()">
Exemple:
<BODY onUnload="nomFonction">
O b je ts – M éth o d e s - P ropriétés:
O b jet - C lasse:
Pour illustrer le concept d'objet, avec ses propriétés et ses méthodes, prenons un
exemple de la vie courante . Un objet est une chose, au sens courant du terme, par
exemple une voiture. Et un objet peut contenir d'autres objets, par exemple un
moteur, une portière... On parle aussi de classe
M éthode :
On peut définir les actions possibles avec cet objet, grâce cette fois-ci, non pas àdes
adjectifs, mais àdes verbes. C'est ce que l'on appelle des méthodes. Ainsi avec une
voiture, on peut démarrer, accélérer, freiner, tourner... L'ensemble des méthodes
d'un objet représente toutes les actions que l'on peut effectuer avec cet objet.
On ne peut faire qu'une seule chose avec une méthode, c'est l'appliquer sur l'objet
souhaité. Cependant les méthodes possèdent souvent des paramètres (arguments)
qui précisent la façon dont on veut que la méthode s'applique. Ainsi la méthode
Freiner applicable àl'objet voiture pourrait se paramétrer par doucement, sec, pile...
P ropriété :
Pour décrire un objet on utilise des adjectifs qui le caractérisent, ce sont les
propriétés de cet objet : couleur, année, marque, nombre de siège... L'ensemble des
propriétés d'un objet représentent tous les aspects de cet objet. On peut s'en servir
soit pour avoir une information sur l'objet (lecture) soit pour modifier l'objet (écriture).
Cependant certaines propriétés sont en lecture seule, c'est à dire non modifiables,
par exemple l'année de construction de notre voiture.
U n e x e m p le d e m o d è le o b je t :
Objet VOITURE
Couleur Lect/écrit
Nb sièges Lect/écrit
Vitesse Lect/écrit
Tourner gauche,Droite
Siège (obj)
Objet MOTEUR
(conteneur de …)
Vidange Lect/écrit
Date = Voiture.Moteur.Vidange
O b je ts et versions :
Javascript est composé d'objets intégrés (ou classes) pour travailler avec les
éléments d'une page HTML, qui s'enrichissent au fur et à mesure que les versions
évoluent., il existe des constructeurs qui permettent de créer simplement un objet de
la classe en question. En effet en syntaxe normale on écris un "constructeur" par
les classes intégrées dans les 3 premières versions de base, fournissant donc des
méthodes et des propriétés permettant de travailler avec ces objets sont les
suivantes
E x e m p le
Pour créer un objet de type Date il faut écrire :
var nom_objet = new Date()
Une fois un objet Date construit, on peut l'utiliser par les nombreuses méthodes qu'il
possède
E x e m p le
On n'a pas besoin de créer de variables pour manipuler un objet de type Math, on
dit que la classe est déjàinstanciée
On peut utiliser les propriétés (en lecture) de l'objet pour les constantes, ou utiliser les
méthodes qu'il possède pour effectuer des calculs
voilàde quoi aurait l'air l'écriture des deux boutons avec leur gestion d'événement
<BODY>
<form>
<input type=button value="valeur de Pi ?" onclick="pi()"> <br>
<input type=button value="valeur aléatoire entre 0 et 1 ?" onclick="alea()">
</form>
</BODY>
le script javascript, placé en début de page, peut directement utiliser une propriété
ou une des méthodes nécessaires…
Cette méthode
function alea(){
mathématique retourne alert("au hasard "+ Math.random())
un nombre choisi au }//-->
hasard entre 0 et 1. </script>
E x e m p le
Pour créer un objet de type String il faut écrire :
var nom_objet = new String('xxxxx')
Une fois un objet string construit, on peut utiliser sa propriété ou ses nombreuses
méthodes qu'il possède. La manipulation des chaînes, nécessite souvent de
connaître la notion de tableau, de récupérer des valeurs saisies dans un boite de
dialogue et est assez particulière
E x e m p le
On n'a pas besoin de créer de variables pour manipuler un objet de type navigator,
on dit que la classe est déjàinstanciée
On peut utiliser les propriétés (en lecture) de l'objet pour avoir des informations sur le
type de navigateur
</BODY>
le script javascript, placé en début de page, peut directement utiliser les méthodes
nécessaires…
Il possède des propriétés qui sont énumérées ci-dessous, mais contient également
des objets, au nombre variable selon les versions. principalement on notera les 4
objets: document, frame, history, location, qui sont détaillés plus loin dans le
chapitre "objet dans window" page 75
, puis locationbar,
menubar…
Tous les événements décrits plus haut peuvent tout simplement être définis dans le
marqueur BODYdu document HTML comme ceci:
<BODY événement=fonction JavaScript>
E x e m p le
On n'a pas besoin de créer de variables pour manipuler un objet de type Window,
car comme pour l'objet Math javascript instancie automatiquement un objet
Windows pour chaque fenêtre du navigateur ouverte, et dans le cas de frames, un
objet pour chaque frame
Syntaxe: réfFenêtre.status
<HTML>
<TITLE></TITLE>
la fonction gerestatus()
<script LANGUAGE="JavaScript">
est définie avant <!--
l'appel function nom(){
window.name="essai"
alert("cette fenêtre s'appelle "+ window.name)
}
function gerestatus(){
window.status="super, ça marche"
}
//-->
L'on peut retrouver cet
</script>
événement dans les
commandes suivantes:
Version 1.2
E x e m p le
On n'a pas besoin de créer de variables pour manipuler un objet de type screen, car
comme pour l'objet Math javascript instancie automatiquement un objet screen
lors du premier démarrage du navigateur
Il s'agit d'un objet simple dont on lira les propriétés pour en tirer un certain nombre
de renseignements sur le moniteur du "lecteur"
W in d o w s c o n te n e u r d e :
L'objet window est lui aussi un objet des plus important du fait qu'il contient d'autres
objets très complexes, on appelle cela un conteneur
Pour des raisons de place et de compatibilité, nous nous limiterons àla version 1.0-
1.1, soit les 4 objets principaux.
• document,
• frame
• history
• location
Il possède des propriétés qui sont énumérées ci-dessous, mais contient également
des objets. principalement on notera les 4 objets anchor, array, form, link, qui sont
détaillés plus loin dans le chapitre "objet dans document" (page 97)
on pourra alors créer facilement des boutons pour chaque couleur, qui appellerons
la fonction avec le bon argument sur l'évènement clic souris...
donnant
Les cookies sont de fichiers textes nommés automatiquement àpartir du nom donné
par l'utilisateur lors de son ouverture de session et des caractère supplémentaires.(
tels que l'URL du fichier d'où ils proviennent…)
Un cookie n'est jamais stocké au hasard par le navigateur, pour des raisons de
sécurité en effet l'emplacement des cookies et défini par défaut, précisément par
chaque navigateur (voir plus loin tableau récapitulatif)
De plus il s'agit de fichiers texte, absolument inoffensif donc pour la sécurité du client
qui les accueille, et visualisables par un simple éditeur de texte
si le contenu en texte d'un cookie est libre, en général àl'exception des caractères ,
(virgule) ; (point virgule) et espace, qui sont interdits. La virgule en ce qui nous
concerne jouera le rôle de séparateur, il existe quand même une "normalisation"
pour certains champs…
L'objet qui permet de lire les cookies est accessible via "document.cookie". Si un
cookie correspondant au chemin (path) du document que l'on visualise existe, (est
présent sur le disque du client…), son contenu sera automatiquement mis dans cet
objet. Ce qui fait que cet objet est donc une chaîne de caractère , pouvant être
assez longue, contenant tous les cookies que l'utilisateur àrécolté sur cette page…
C réation de C o o k ies
Si on prends le cas de Internet explorer sous Windows, les fichiers textes contenant les
cookies sont dans un dossier Win\Cookies
ainsi que la fonction cre() qui l'appelle après avoir demandé àl'utilisateur de donner
un contenu au cookie (valeur), en nommant le cookie "nom" et en lui donnant une
durée de 12 jours…
function cre()
{
valeur = prompt("donner la valeur à stocker","valeur du cookie");
setCookie("nom", valeur, 12);
}
</script>
Lecture de Cookies
On trouveras en CoursJs25.html la fonction suivante getCookie()
function getCookie(nom){
//on vérifie si il y a un cookie
if (document.cookie.length > 0){
debut = document.cookie.indexOf(nom + "=");
//on vérifie si la valeur qu'on recherche est dans le cookie
if (debut != -1) //!= veut dire différent
{
debut += nom.length + 1;
fin = document.cookie.indexOf(";", debut);
if (fin == -1) fin = document.cookie.length;
return unescape(document.cookie.substring(debut, fin));
}
}
return null;
//la valeur n'a pas été trouvée...
}
ainsi que la fonction lit() qui l'appelle après avoir demandé àl'utilisateur de donner
le nom du cookie que l'on souhaite lire…(ici toujours "nom"....)
Edition /
Préférences et
cliquer sur la
case "avancées"
et faire ses choix
dans la zone des
cookies
O ù sont le s C o o k ies ?
Pour un utilisateur du Web, il est possible de gérer les cookies, une fois que ceux-ci
sont sur sa machine. (essentiellement les supprimer…)
fichier
COURJS25B.HTML De manière àce que ensuite lorsque l'on demande de lire le cookie
on obtienne
En javascript, le nom de l'objet Frame est le même que celui de l'attribut Name
spécifié dans la balise <FRAME> de la page HTML.
• Parent fait référence à la fenêtre principale. Chaque objet Frame est une
objet enfant de l'objet Parent
Si dans chaque page on incorpore un bouton sur lequel lorsque l'on clique on
exécute la fonction donne() suivante :
function donne()
{
alert(" windows.name = " + window.name);
alert(" self.name = " + self.name);
for (cpt=0;cpt<4;cpt++)
{
alert(" parent.frames[" + cpt + "] = " + parent.frames[cpt].name);
}
}
E x e m p le to p .fra m es.le n g h t :
inséré dans la page appelé par un site, il permet de supprimer les frames de ce site
E x e m p le
On n'a pas besoin de créer de variables pour manipuler un objet de type History, car
comme pour l'objet Math javascript instancie automatiquement un objet History lors
du premier démarrage du navigateur
Il s'agit d'un objet simple dont on utilisera les méthodes pour charger une des URL
déjàparcourue par le navigateur
rappel : pour
tester une Ainsi l'écriture
petite ligne de history.back();
javascript on charge l'URL précédente de l'historique (fonction identique au bouton
peut la taper précédent d'un navigateur)
directement
depuis la
fenêtre URL du Alors que l'écriture
navigateur, history.forward();
précédée de
charge l'URL suivante de l'historique (fonction identique au bouton suivant
la mention
d'un navigateur)
javascript:
N.B: l'appel àune instruction javascript du type history.back(); est le seul moyen
lorsque dans un site web on àplusieurs manières d'arriver sur une page de
proposer àl'utilisateur de revenir d'ou il vient !
faites un fichiers dans lequel on fait apparaître deux boutons aux fonctionnalités
identiques àcelles des deux boutons précédent-suivant d'un navigateur…
<script LANGUAGE="JavaScript">
<!--
function retour(){
history.back()
}
function suivant(){
history.forward()
}
la solution est
//-->
en
</script>
coursjs29.html
<form>
<input type=button value="retour" onClick="retour()">
<input type=button value="suivant" onClick="suivant()"> <br>
</form>
E x e m p le
On n'a pas besoin de créer de variables pour manipuler un objet de type Location,
car comme pour l'objet Math javascript instancie automatiquement un objet
location lors du premier démarrage du navigateur
Il s'agit d'un objet simple dont on lira les propriétés pour en tirer un certain nombre
de renseignements sur l'Url du document affiché àl'écran
rappel : pour Ainsi l'écriture
tester une petite alert(location.pathname);
ligne de
renvoi le chemin du fichier actuellement affiché
javascript on
peut la taper Par exemple rajoutez l'écriture suivante
directement alert(" pathname =" + parent.frames[cpt].location.pathname);
depuis la fenêtre dans les fichiers Coursjs28_1.html, Coursjs28_2.html, Coursjs28_3.html,
URL du Coursjs28_4...
navigateur,
précédée de la
mention alors que l'écriture
javascript: alert(location.href);
On souhaite automatiquement faire en sorte que le visiteur soit dirigé vers une page
donnée selon la résolution de son navigateur
//-->
</script>
Si vous voulez, vous pouvez aller sur la partie graphique de notre site <BR>
nous detecterons automatiquement la page appropriée
<form>
<input type = "submit" value="allez y" onClick="redirige()">
</form>
</BODY>
N.B: bien que correct du point de vue javascript, ce script ne fonctionne pas avec toutes
les versions de Internet explorer…Il faut dévalider le gestionnaire par défaut via
"return false"
L a m éth o d e o p e n
La méthode open() permet d'ouvrir une nouvelle fenêtre de navigateur dans laquelle
peut être chargé ou généré un document HTML. L'apparence de la nouvelle fenêtre
peut être personnalisée de façon à faire afficher ou non certaines caractéristiques,
telles que la barre d'outils, la barre de localisation, etc
ou encore celle-ci
f = open ("","fenetre","");
Paramètre Description
alwaysLowered Si la valeur spécifiée est yes, cette option créée une nouvelle
fenêtre flottante qui sera affichée derrière toutes les autres fenêtres
du navigateur, qu’elles soient actives ou non. Il s’agit ici d’une
option spéciale qui doit être utilisée dans un script signé.
(JavaScript 1.2)
alwaysRaised Si la valeur spécifiée est yes, cette option créée une nouvelle
fenêtre flottante qui sera affichée devant toutes les autres fenêtres
du navigateur, qu’elles soient actives ou non. Il s’agit ici d’une
option spéciale qui doit être utilisée dans un script signé.
(JavaScript 1.2)
personalbar Si la valeur spécifiée est yes, cette option ajoute la barre d’outils
personnelle affichant les boutons du dossier de signets personnels
de l’utilisateur. (JavaScript 1.2)
titlebar Si la valeur spécifiée est yes, cette option créée une fenêtre dotée
d’une barre de titre. Pour définir une fenêtre sans barre de titre
(no), le script doit être signé. (JavaScript 1.2)
z-lock (JavaScript 1.2) Si la valeur spécifiée est yes, cette option créée une
nouvelle fenêtre ne pouvant passer devant les autres fenêtres du
navigateurs même lorsqu’elle est activée. Le script doit être signé
pour utiliser cette option. (JavaScript 1.2)
Par exemple on provoquera l'affichage d'une nouvelle fenêtre avec les propriétés
spécifiées dans la liste:
fenetreA=window.open("test.html","contenu",
"status=no,location=yes,
toolbar=yes,directories=no,resizable=yes,
width=600,height=400,top=100,left=100");
tous les paramètres sont activables àtrue avec une valeur de 1 ou yes et àfalse avec
une valeur de 0 ou no
Écrire d a n s u n e fenêtre
Il est possible de générer le contenu d'une fenêtre ou d'un cadre à l'aide de la
méthode write ou writeln.
m éth o d e s e tT im e o u t()
Cette méthode de l'objet window évalue une expression après qu’un délai en
millisecondes soit expiré. Elle peut être annulée via l'appel à la méthode
clearTimeout().
Syntaxe
TimeoutID=window.setTimeout(expression, msec)
Avec
expression est une chaîne de caractères ou une propriété d’un objet existant.
E x e m p le :
On créer une page
demandant àl'utilisateur de
cliquer sur un bouton pour
continuer, on tombe sur
une page affichant la
bienvenue
Mais si au bout de 10
secondes, celui-ci n'a pas
manifesté sa présence,
la page apparaît
automatiquement
d o c u m e n t c o n te n e u r d e :
L'objet document est un objet très important du fait qu'il contient d'autres objets
intéressants et qu'il représente la totalité de la page HTML
• form • classes
• image • form
• link • image
• layers
• link
Pour des raisons de place et de compatibilité, nous nous limiterons àla version 1.0
soit les 4 objets principaux.
On dira quelques mots des objets intéressant apparus avec les nouvelles versions,
soit les objets image et area (version 1.1) et l'objet layers (version 1.2)
array
Cet objet permet de travailler avec les tableaux de la page HTML
lin k
Cet objet permet de travailler avec les liens de la page HTML
form
Cet objet permet de travailler avec les formulaires de la page HTML
Il possède des propriétés qui sont énumérées ci-dessous, mais contient également
des objets, au nombre variable selon les versions. principalement on notera les 4
objets button, checkbox, hidden, password, radio, reset, select, submit, text,
textarea, qui sont détaillés plus loin dans le chapitre "objet dans form" (page 107)
E x e m p le im a g e .src :
L'exemple que l'on va manipuler est celui permettant de faire un "survol de
bouton"...
Cette fonctionnalité suppose que le navigateur intègre une version javascript 1.1
minimum, ce qui place la barre àExplorer 3.x et Netscape 3.x minimum
On va utiliser la propriété src de l'objet image pour changer "a la volée" l'image
affichée dans une page HTML avec une syntaxe du type
nomimage.src ="new image.gif"
on nomme
Si vous voulez, vouz pouvez aller sur ce site <BR>
l'image…"puce1"
<IMG SRC="gif/puceb.gif" name="puce1"> <A HREF = "r " target = "blank">
merveilleux </A>
et target="blank"
sert uniquement à </BODY>
annuler facilement
un clik sur le lien…
Cette image étant nommée "puce1", l'instruction suivante incorporée dans la balise
du lien <HREF…> permet donc chaque fois que la souris passe sur ce lien de changer
le fichier source de l'image àafficher (et donner un effet de puce changeante...)
onMouseOver="puce1.src='gif/Pucer.gif'"
idem sur cette instruction lorsque le pointeur de la souris se déplace hors du lien…(la
puce reprends sa couleur primitive )
onMouseOut="puce1.src='gif/Puceb.gif'"
construisez donc le fichier qui va permettre de vérifier que l'on pointe bien le lien
"merveilleux" en changeant la couleur de la puce….
dans notre cas en effet, si un jour on souhaite changer les fichiers pucer.gif et
puceb.gif cela revient àdevoir intervenir àplusieurs endroits dans le source !
Il va donc falloir
• 1 fonction pour donner l'image indiquant la sélection (et une fonction pour
donner l'image indiquant une non-sélection ):
function allume(nom) {
switch (nom) {
case "Bouton1" :
document.Bouton1.src = image_select.src;
break;
case "Bouton2" :
document.Bouton2.src = image_select.src;
break;
case "Bouton3" :
document.Bouton3.src = image_select.src;
break;
}
}
• 1 fonction pour construire la page HTML àla volée avec l'image voulue :
<script LANGUAGE="JavaScript1.1">
document.write('<IMG SRC=');
document.write(image_nonselect.src);
document.write(' name="Bouton1">');
</script>
puis
etc...
function allume(nom) {
switch (nom) {
case "Bouton1" :
1 fonction pour donner document.Bouton1.src = image_select.src;
l'image indiquant la break;
case "Bouton2" :
sélection
document.Bouton2.src = image_select.src;
break;
case "Bouton3" :
document.Bouton3.src = image_select.src;
break;
}
}
function eteint(nom) {
switch (nom) {
case "Bouton1" :
document.Bouton1.src = image_nonselect.src;
1 fonction pour donner break;
l'image indiquant la case "Bouton2" :
non sélection document.Bouton2.src = image_nonselect.src;
break;
case "Bouton3" :
document.Bouton3.src = image_nonselect.src;
break;
}
}
//-->
</SCRIPT>
écriture des boutons à Si vous voulez, vouz pouvez aller sur un de ces site <BR>
la volée... <script LANGUAGE="JavaScript1.1">
document.write('<IMG SRC=');
document.write(image_nonselect.src);
document.write(' name="Bouton1">');
</script>
<A HREF = "r " target = "blank" onMouseOver="allume('Bouton1')"
onMouseOut="eteint('Bouton1')"> merveilleux </A>
<P>
<script> les appels sont simples
document.write('<IMG SRC='); et indépendant des
document.write(image_nonselect.src); fichiers image utilisés !
document.write(' name="Bouton2">');
Attention : pour des raisons de chemin sur des fichiers locaux, ce fichier ne marche
pas avec Netscape, il faudrait replacer les sources dans un dossier nommé de
manière standardisée (nom de dossier sans espace...)
alert(image_nonselect.src);
alert(image_nonselect.src);
Version 1.2
Version 1.2
form c o n te n e u r d e :
L'objet form est un objet important car il contient la totalité des objets utilisables
dans un formulaire HTML
button button
checkbox checkbox
elements elements
hidden FileUpload
password hidden
radio password
reset radio
select reset
submit select
text submit
textarea text
textarea
checkbox
Cet objet permet de travailler avec les "cases àcocher" d'un formulaire de la page
HTML
Version 1.2
h id d e n
Cet objet permet de travailler avec les champs cachés d'un formulaire de la page
HTML
passw o rd
Cet objet permet de travailler avec les champs texte "password" d'un formulaire de
la page HTML
reset
Cet objet permet de travailler avec le champs Reset d'un formulaire de la page
HTML
s u b m it
Cet objet permet de travailler avec le champs submit d'un formulaire de la page
HTML
textarea
Cet objet permet de travailler avec les champs "textarea" d'un formulaire
In terêts :
Plus on effectue de manipulation sur le client à propos du formulaire, et plus on
décharge le serveur, ce qui ne peut que globalement être positif pour tout le monde
<script LANGUAGE="JavaScript">
nb est le champs nommé "nb"
<!--
function affiche(form1){
alert("vous avez saisi " + form1.nb.value);
La fonction affiche() return ;
};
récupère "form" un value est une propriété d'un
//-->
formulaire en champs text de formulaire
</script>
paramètre. c'est nous
qui le décidons (et qui
le traitons ensuite
comme un objet de sur onBlur on appelle affiche() avec
type formulaire par la le formulaire en paramètre.
suite) this représentant l'objet courant…
<FORM>
merci de saisir quelque chose
<INPUT TYPE=TEXT NAME="nb" onBlur="affiche(this.form)" VALUE="0"
SIZE=5 MAXLENGTH=5> <br>
</FORM>
conversion en entier :
c'est la fonction parseInt() qui assure la conversion d'un chaîne en un entier
classique
parsInt("13");
donnera le nombre 13
et
parsInt("13,5");
donnera le nombre 13
JS C R IP T -J A V A S C R IP T -E C M A S C R IP T
C o r r e s p o n d a n c e s a v e c E C M A S C R IP T :
Si la norme est édictée par l'organisme de Normalisation ECMA, dont les dernière
spécifications sont disponibles àl'adresse suivante :
http://www.ecma.ch
Versions Jscrip t :
Jscript est un langage poussé par Microsoft àl'intérieur d'un concept beaucoup plus
global , dénommé WSH, àsavoir Windows Scripting Host
Les dernière informations étant disponibles sur le site MSDN àl'adresse suivante :
http://msdn.microsoft.com/scripting
Javacript est disponible coté client, et coté serveur, mais uniquement sur les produits
distribués par Nestcape…
N o rm es et spécific a tio n s :
Si la norme est édictée par l'organisme de Normalisation ECMA, dont les dernière
spécifications sont disponibles àl'adresse suivante :
S ites et F o r u m :
http://www.experts-exchange.com
http://www.allhtml.com