Javascript a été mis au point par Netscape en 1995. A l'origine, il se nommait LiveScript et était destiné
à fournir un langage de script simple au navigateur Netscape Navigator 2.
Il a à l'époque longtemps été critiqué pour son manque de sécurité, son
développement peu poussé et l'absence de messages d'erreur explicites rendant dure son utilisation.
Le 4 décembre 1995, suite à une association avec le constructeur Sun, Netscape rebaptise son langage
Javascript (un clin d'oeil au langage Java développé par Sun). A la même
époque, Microsoft mit au point le langage Jscript, un langage de script très similaire. Ainsi, pour éviter des
dérives de part et d'autre, un standard a été défini pour normaliser les langages de script, il s'agit de l'ECMA
262, créé par l'organisation du même nom (ECMA, European Computer Manufactures Association).
Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage
de script pour le Web. Ce langage est un langage
de programmation qui permet d'apporter des améliorations au langage HTML en permettant d'exécuter
des commandes du côté client, c'est-à-dire au niveau du navigateur et non du serveur web.
Ainsi le langage Javascript est fortement dépendant du navigateur appelant la page web dans laquelle le script
est incorporé, mais en contrepartie il ne nécessite pas de compilateur, contrairement au langage Java,
avec lequel il a longtemps été confondu.
Les navigateurs et le Javascript:
Version de Javascript |
Navigateurs |
JavaScript 1.0 |
Netscape Navigator 2.0, Internet Explorer 3.0 |
JavaScript 1.1 |
Netscape Navigator 3.0 |
Javascript 1.2 |
Netscape Navigator 4.0/4.05, Internet Explorer 4.0 |
Javascript 1.3 |
Netscape Navigator 4.06, Internet Explorer 5.0 |
Javascript 1.4 |
Netscape Navigator 6.0, Internet Explorer 5.5 |
Javascript 1.5 |
Netscape Navigator 6.0 |
Il ne faut pas confondre le JavaScript et le Java. En effet contrairement au langage Java,
le code est directement écrit dans la page HTML, c'est un langage peu évolué
qui ne permet aucune confidentialité au niveau des codes (ceux-ci sont effectivement visibles).
D'autre part l'applet Java (le programme) a été préalablement compilée, et une machine virtuelle
permettant d'interpréter le pseudo-code doit être chargée en mémoire (du côté du client)
à chaque chargement
de la page, d'où un important ralentissement pour les applets Java contrairement au JavaScript.
Javascript |
Java |
Langage interprété | Langage pseudo-compilé (chargement d'une machine virtuelle) |
Code intégré au HTML | Code (applet) à part du document HTML, appelé à partir de la page |
Langage peu typé | Langage fortement typé (déclaration du type de variable) |
Liaisons dynamiques: les références des objets sont vérifiées au chargement |
Liaisons statiques: les objets doivent exister au chargement (compilation) |
Accessibilité du code | Confidentialité du code |
Sûr: ne peut pas écrire sur le disque dur | Sûr: ne peut pas écrire sur le disque dur |
Le Javascript est case sensitive (en français sensible à la casse),
c'est-à-dire qu'il fait une différence entre un nom de variable contenant ou non
des majuscules. Ainsi la fonction bonjour(); n'est pas la même fonction que Bonjour();.
Enfin, comme en langage C, chaque instruction se termine par un point-virgule (;).
Un script est une portion de code qui vient s'insérer dans une page HTML. Le code du script
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.
Les balises annonçant un code Javascript sont les suivantes:
<SCRIPT language="Javascript">
Placez ici le code de votre script
</SCRIPT>
Ce code est ainsi invisible du point de vue du navigateur c'est-à-dire que ce dernier n'affiche
pas dans sa fenêtre le code Javascript.
Toutefois, d'anciens navigateurs, créés avant l'arrivée
du Javascript, ne connaissent pas ces balises et donc les ignorent...
Le code de votre Javascript risque donc de s'afficher sur votre belle page web et venir
gâcher votre travail. L'astuce consiste donc à ajouter des balises de commentaires
à l'intérieur même des balises de script. Ainsi les anciens navigateurs
ignoreront tout simplement l'intégralité du script, tandis que les navigateurs
récents l'interprèteront (comme il se le doit) comme du Javascript!
Voici ce que donne le script une fois "masqué" pour les anciens navigateurs:
<SCRIPT language="Javascript">
<!--
Placez ici le code de votre script
// -->
</SCRIPT>
Comme dans tout langage de programmation, il est bon d'ajouter des commentaires
dans un de ses scripts
- d'une part pour s'y retrouver lorsque, plusieurs mois après, l'on voudra revoir son script
- d'autre part par esprit d'échange pour permettre à vos visiteurs curieux de comprendre votre script (cela
n'est pas toujours désiré...)
|
Il ne faut pas confondre les balises de commentaires du langage HTML
(destinées à masquer le script pour certains browsers) et les caractères
de commentaires Javascript (permettant de documenter son script)! |
Pour écrire des commentaires, Javascript utilise les conventions utilisées en langage C/C++
|
Il faut veiller à ne pas imbriquer
des commentaires, au risque de provoquer une erreur lors de l'exécution du code! |
Comme généralement dans les tutoriels de Javascript on va faire afficher une boîte
de dialogue suite au chargement d'une page HTML. Dans ce cas le script est totalement inutile voire
ennuyeux pour vos visiteurs... Cet exemple montre ce que l'abus de Javascript peut donner... Il faudra
apprendre à se servir du Javascript avec modération!
Voici la page HTML correspondante:
<HTML>
<HEAD>
<TITLE> Voici une page contenant du Javascript</TITLE>
</HEAD>
<BODY>
<SCRIPT language="Javascript">
<!--
alert("Voici un message d alerte!");
// -->
</SCRIPT>
</BODY>
</HTML>
Cliquez ici pour voir le résultat d'un tel script lors du chargement de la page ci-dessus:
|