mardi 12 mai 2009

Qu'est-ce que le Javascript?


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.
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).
Les navigateurs et le Javascript :
Version de Javascript
Navigateurs
JavaScript 1.0
Netscape Navigator 2.0, Internet Explorer 3.0, Opera, Mozilla
JavaScript 1.1
Netscape Navigator 3.0, Opera, Mozilla
Javascript 1.2
Netscape Navigator 4.0/4.05, Internet Explorer 4.0, Opera, Mozilla
Javascript 1.3
Netscape Navigator 4.06, Internet Explorer 5.0, Opera, Mozilla
Javascript 1.4
Netscape Navigator 6.0, Internet Explorer 6.0, Opera, Mozilla
Javascript 1.5
Netscape Navigator 6.0, Mozilla
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 durLe 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 (;).

A quoi ressemble un script?
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 :

Masquage du script pour les anciens browsers
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 :

Ajouter des commentaires dans votre code
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++
Pour mettre en commentaires toute une ligne on utilise le double slash : // Tous les caractères derrière le // sont ignorés
Pour mettre en commentaire une partie du texte (éventuellement sur plusieurs lignes) on utilise le /* et le */ : /* Toutes les lignes comprises entre ces repères
sont ignorées par l'interpréteur
de code */Il faut veiller à ne pas imbriquer des commentaires, au risque de provoquer une erreur lors de l'exécution du code!

Un exemple de Javascript
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 :






Aucun commentaire:

Enregistrer un commentaire

free counters