Pierre Perrody
Voici des "petits" cours de javascript que j'avais, à l'origine, écrit pour expliquer un tant soit peu le fonctionnement du javascript à des amis.
Comme il ne faut pas réinventer la roue, je conseillerais de lire cette page qui est bien plus fournie :
Introduction au javascript par la Mozilla Foundation

LES TYPES


En javascript il existe plusieurs type d'entités :
-Les chaines de caractères : le type String
-Les nombres : le type Integer
-Les booléens : le type Boolean
-Les objets : le type object         //ce type est utilisé pour les données structurés (il sera vu plus tard)
-Les tableaux : le type Array()   //on ne peux pas parler d'un type particulier, mais c'est interressant de le voir.
-Les fonctions : le type function //c'est un type un peu particulier qui permet de manipuler les autres types


LES STRING


Les chaines de caractères sont toujours délimitées par des guillemets ou des apostrophes.
Dans la pratique on utilise plutôt les apostrophes,car les guillemets sont plus utilisé en HTML.
Ce qui pose un petit problème dans une chaine qui comporte elle même un apostrophe, par exemple :
'L'important c'est de savoir';
pour palier a ce problème on peut indiquer en mettant un anit-slash avant que le caractère suivant doit etre considéré comme normale.
ce qui donne :

'L\'important c\'est de savoir';


De même il existe des caractères spéciaux que l'on peut mettre dans une chaine :
\b permet d'insérer un retour en arrière.
\f permet d'insérer un saut de page.
\n permet d'insérer un saut de ligne.
\r permet d'insérer un retour chariot.
\t permet d'insérer un caractère de tabulation.


Il faut aussi savoir que l'on peut concaténer (agrégée) deux chaines par un + :
'L\'important c\'est '+'de savoir';est formé de deux chaines "L'important c'est" et "de savoir",
mais a l'affichage on aura seulement "L'important c'est de savoir".



LES NUMBER


En javascript on ne distingue pas les reels des entiers!
Par contre, lorsque on définit un nombre, on peut lui préciser le type de nombres :
Si on mets 0 en premier chiffre, le nombre sera considéré comme étant en octale (base8).
Si on mets 0x en pemier, le nombre sera considéré comme étant en héxadécimal (base 16).
Un chiffre sans . sera considéré comme un entier
Un chiffre conposé avec un . (1.2) sera considéré comme un réel
Il est également possible d'indiquer une puissance de 10 par un e ou E suivi d'un exposant entier
ex :
1.2e3
2E-6



LES BOOLEAN


Les bolléens sont des entités qui ne peuvent avoir que deux valeurs, true et false.
Mais si on prend un number qui a pour valeur 1, on peut dire aussi que sa valeur est true, il se comporte comme un booléen
il en est de même avec 0 et false

LES ARRAY()


Les tableaux ne sont pas un type d'entités, mais un "ensemble" de données regroupées au sain d'un seul éléments.
pour l'expliquer, le plus simple est de paser par un exemple :
var mon_tableau =new Array();New permet de créer explicitement une variable de ce type
mon_tableau[0]="toto";
mon_tableau[1]=12;
mon_tableau[2]=false;

comme ca j'ai regroupé les trois valeur au sain d'un seul élément : mon_tableau,
et quand je veux récupérer une de ces valeur, j'appelle l'indice correspondant, mon_tableau[0] etc...

Je passe sur les objets , on verra ca plus tard.

LES FUNCTIONS


Une fonction est un ensemble d'instructions réunies pour éffectuer une action bien définie.
On peut passer des paramètres à une fonction ( ces paramètres sont des paramètres entrants).
On parle alors d'arguments.
Une fonction doit se déclarer comme suit :
function Nom_Function(Arg1,..,ArgN) {
Instruction1
...
InstructionM

}

Où Arg1 à N sont des variables des différents type vus au dessus.
Une fonction peut également retourner une valeur :
function Nom_Function(Arg1,..,ArgN) {
Instruction1
...
InstructionM
return valeur

}

par Exemple :
function Maximum(a,b) {
if (a>b) {
return a
} else {
return b
}

}

Si je fais Maximum(2,8) j'aurais en retour 8, et Maximum(19,2) me retournera 19.


DE MANIÈRE GÉNÉRALE


Une commande javascript se termine par un point virgule (un peu comme un fin de ligne)
ce qui permete de mettre plusiers commande sur une meme ligne!
Une déclaration de variable peut se faire de deux manières :
var toto; on peut lui affecter une valeur dites par défaut par var toto='toto';
ou
toto; la aussi on peut lui affecter une valeur par défaut par toto='toto';
La différence tient au fait qu'en faisant var, on indique de manière implicite qu'on crée une nouvelle variable,
alors que toto='toto'; peut vouloir dire qu'on réaffecte une nouvelle valeur à la variable toto
La manière explicite de créer une variable est de la définir par new et par son type :
var toto=new String('s\'pice di counasse');


En javascript, il n'est pas besoin de "typer" une variable, c'est a dire que si on créé une variable, il n'y a pas besoin de préciser son type.
var texte='s\'spice di counasse'; devient une variable de type String.
Si par la suite on fais texte=10; texte devient un Number.

IMPORTANT


Par contre, il est important de savoir que les variables peuvent avoir ce que l'on appelle un portée "locale" ou "globale".
C'est à dire, qu'un variable i, déclarée en dehors d'un fonction aura une portée dite "globale", sa valeur sera accessible partout, dans toutes les fonctions.
Par contre, si cette variable i est déclarée dans une fonction, elle aura une portée dite "locale"; sa valeur ne sera accessible qu'a l'intérieur de la fonction.