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
-Les tableaux : le type Array()
-Les fonctions : le type function
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();
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...
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.