Saisir un mot clé:
 
 

javascript

Ce site est un miroir du site http://fr.wikipedia.org/wiki/Accueil

google_ad_height = 15; google_ad_format = "728x15_0ads_al"; google_ad_channel =""; google_color_border = "f9f9f9"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_url = "008000"; google_color_text = "000000"; //-->

Un article de Wikipedia.y-project.com.

(Redirigé depuis Javascript)
Image:Langage progr.png
Cet article fait partie de la série
Langages de programmation
Langages à objets
Ada 95 - C++ - C#
Common Lisp
Delphi - Eiffel - Java
Nice - Python
Ruby - Scriptol - Simula
Smalltalk - Visual Basic
Langages impératifs
APL - ASP - Assembleur
BASIC - C - Cobol
Forth - Fortran - Logo
Pascal - Perl - PHP
Langages fonctionnels
Haskell | ML/OCaml
Lisp/Common Lisp
Scheme
Langages déclaratifs
Clips - Prolog
Langages concurrents
Ada 95 - Erlang
Java
Langages balisés
HTML - SGML - XML
Dialectes XML
S-expressions
Voir aussi
Conception - Codage
Tests - Optimisations

JavaScript est un langage de programmation de type script, utilisant les objets, principalement utilisé dans les pages Web.

Sommaire

[] Histoire

JavaScript a été créé en 1995 par Brendan Eich pour Netscape Communications Corporation. Il est apparu pour la première fois dans les versions bêta de Netscape Navigator 2.0.

D'abord appelé LiveScript, il a été rebaptisé JavaScript et est décrit comme un complément à Java dans un communiqué de presse commun de Netscape et Sun Microsystems, daté du 4 décembre 1995. Cette initiative a contribué à créer auprès du public une certaine confusion entre les deux langages, proches syntaxiquement mais pas du tout dans leurs concepts fondamentaux, et qui perdure encore aujourd'hui.

Le propos de JavaScript est de manipuler de façon simple des objets, au sens informatique, fournis par une application hôte.

JavaScript est aujourd'hui défini par la norme ECMA-262, aussi connue sous l'appellation ECMAScript. La troisième édition d'ECMA-262 parue en 1999 correspond à la version 1.5 de JavaScript. Son implémentation par Microsoft porte quant à elle le nom de JScript. Il est question d'une version JavaScript 1.6 supportée par la version 1.5 de Firefox.

SpiderMonkey est le nom de l'implémentation C du language JavaScript utilisé dans Gecko, le moteur de rendu développé par mozilla. SpiderMonkey est disponible sous la license "MPL/GPL/LGPL tri-license"

[] Utilisation

[] Dans une page Web

Du code JavaScript peut être intégré directement au sein des pages Web, pour y être exécuté sur le poste client. C'est alors le navigateur Web qui prend en charge l'exécution de ces petits bouts de programmes appelés scripts.

Généralement, JavaScript sert à contrôler les données saisies dans des formulaires HTML, ou à interagir avec le document HTML via l'interface DOM, fournie par le navigateur (on parle alors parfois d'HTML dynamique). Il est aussi utilisé pour réaliser des services dynamiques, parfois futiles ou strictement cosmétiques.

[] Incompatibilités

Netscape et Microsoft (avec JScript dans Internet Explorer) ont développé leur propre variante de ce langage qui chacune, supporte presque intégralement la norme ECMAScript mais possède des fonctionnalités supplémentaires et incompatibles, rarement utilisées dans le cadre de la programmation de pages Web. Pourtant les scripts JavaScript sont souvent la source de difficultés. Le plus souvent, elles sont dues non à des problèmes de portabilité du langage, les différentes implémentations respectant assez bien la norme ECMAScript, le problème venant du support des différentes versions des modèles d'objet (DOM) fournis par les navigateurs.

Face à ce problème on utilise souvent une construction du type :

 if (monObjet.methode) { ....
                            monObjet.methode();
                       }

On vérifie ainsi que monObjet a bien une implémentation de methode que l'on peut alors utiliser. Le plus souvent, si un navigateur ne gère pas la methode de monObjet, il gère une méthode comparable methode2, et on peut alors adapter le code javascript au navigateur qui l'exécute:

 if (monObjet.methode) { ....
                            monObjet.methode();
                       }
 else if (monObjet.methode2) { ....
                            monObjet.methode2();
                       }

[] AJAX

JavaScript est actuellement (novembre 2005) un des composants essentiel d'AJAX. C'est grâce à l'utilisation combinée de DOM et de ce langage qu'est interprété le fichier XML envoyé par le serveur et sont effectuées les modifications de la page Web.

[] JSON

JSON ( JavaScript Object Notation ) est un format utilisant la notation des objects JavaScript pour transmettre de l'information structurée.

[] Autres utilisations

JavaScript peut également être utilisé comme langage de programmation sur un serveur HTTP. Initialement, il était proposé sur les serveurs de Netscape, par la suite distribués par Sun Microsystems sous les noms iPlanet et Sun ONE, mais JScript peut aussi être utilisé sur les serveurs IIS de Microsoft. JScript peut d'ailleurs servir pour scripter une plateforme Microsoft Windows via WSH.

On peut encore citer ActionScript, utilisé dans Macromedia Flash qui est aussi une implémentation d'ECMAScript. Il permet de manipuler tous les éléments de l'animation, considérés comme des objets.

JavaScript est enfin utilisé dans la plateforme de développement Mozilla, sur laquelle sont basés plusieurs logiciels comme des navigateurs Web, pour des tâches relatives à l'interface utilisateur et de communication interne (Exemple : les extensions de Firefox et Thunderbird sont installées à base de fichiers Xpi utilisant le javascript).

Depuis 2004, l'objet "js" de l'environnement de programmation graphique Max/MSP, permet d'ouvrir une fenetre pour programmer en javascript, au sein même d'un programme Max/MSP.

[] Particularités du langage

[] Fonctions anonymes

Une fonction anonyme est, comme son nom l'indique, une fonction qui n'est pas identifiée par un nom.

Exemple 1:

 var maFonction = function( message ) {
   
   alert( message );
 }
 
 maFonction('ceci est un test'); // affiche: ceci est un test

Exemple 2:

<html>
  <body onload="setTimeout( function(){ alert( 'chargement de la page termine il y a une seconde et demi' ) }, 1500 );">
  </body>
</html>

[] Closures

Les closure(en) ( fermeture(fr) ) sont une caracteristique aussi puissante que méconnue du language ECMAScript. Il s'agit de la possibilité, pour une expression, d'acceder à des variables qui ne sont plus à sa portée.

Exemple de closure:

 function ajouteur( nombre ) {
 
   function ajoute( valeur ) {
     
     return valeur + nombre;
   }
   
   return ajoute;
 }
 
 
 var ajoute10 = ajouteur(10);
 ajoute10(1); // retourne 11

Dans l'exemple ci-dessus, la fonction interne ajoute10 a toujours accès à l'argument nombre malgré le fait que l'appel à la fonction ajouteur soit terminé.

[] Prototypes

Un prototype est un objet javascript qui est utilisé lors d'un l'échec de résolution d'un nom sur son objet parent. Ce mécanisme est un type d'héritage: l'héritage par prototype.

function MonPrototype() {
  
  this.a = 1;
  this.b = function() {
    
    return 'prototype';
  }
  this.e = 3;
}

function MaClasse() {

  this.c = 2;
  this.d = function() {
    
    return 'classe';
  } 
  this.e = 4;
}

MaClasse.prototype = new MonPrototype();


monObjet = new MaClasse();

monObjet.a;   // 1
monObjet.b(); // 'prototype'
monObjet.c;   // 2
monObjet.d(); // 'classe'
monObjet.e;   // 4

[] Lien externe

[] Références JavaScript et JScript

[] Tutoriels

lv:JavaScript

 
Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/javascript
Home

Données
A la une
Articles
Formatons en lignes
Téléchargement
Licence GNU
Encyclopedie
Portail logiciels libres

Partenaires

beyrouthsurseine.com
Sonnerie & Logos
Photos-Video
Ringtones-Sonnerie
Actualite.org
Terrain tennis

  
Décembre 2008
L
M
M
J
V
S
D
1234567
891011121314
15161718192021
22232425 262728
293031
     
Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés, le reste © technicmania.com