Les déclarations

A la niche les dragueurs !
Non, ceci n'est pas une page web pour apprendre à tomber les gonzesses ! Et je n'écrirais pas de guide sur le sujet car je suis très égoïste dans ce domaine.

En fait c'est par ce qui suit que j'aurais du commencer, mais vous êtes tous pressés, si on ne vous jette pas un os, vous allez voir ailleurs, et comme je touche une fortune sur chaque connexion que vous faites sur mes pages grâce à mes très nombreux sponsors, j'ai intérêt à vous garder tous chez moi et à faire un max de pages, et crotte pour la logique !

Blague à part cette page va vous apprendre enfin, si ce n'est pas déjà trop tard, comment on déclare à Javascript les choses dont on a besoin dans un programme, c'est indispensable et comme disait coluche: en amour, si tu veux enfin aller plus loin, il va falloir aller plus près.

Avant d'utiliser quelque chose qui n'existe pas (zoubida), il va falloir le déclarer et ceci avant toute chose et si nécessaire au moyen de l'événement OnLoad placé dans le marqueur <BODY>, à moins que la première utilisation ne soit une assignation, par exemple zoubida=2; à ce moment là, la variable est créée et initialisée (remplie) et peut donc être utilisée dans la suite du programme sans autre forme de procès.
Si ce n'est pas le cas, et que la première fois qu'il est fait référence à zoubida aucune assignation n'a été faite, comme par exemple lors d'un test: if (zoubida==2) Javascript ne saura pas ce que contient cette variable ni de quel type elle est, dans le meilleur des cas vous aurez une erreur et dans le pire des cas vous aurez comme résultat n'importe quoi.

Rappel: il ne faut pas utiliser un mot réservé ni autre chose qu'une lettre de A à Z, ou a à z, des chiffres, ou "_", pour une variable, une fonction ou un tableau, et le premier caractère doit être alphabétique ou "_".


Les variables
[var] variable=valeur

Je sais, vous aviez compris ça il y a longtemps déjà, mais je veux recenser tous les cas dans cette page, donc, pas question d'omettre ça sous prétexte que vous savez, et puis il y a une notion très importante qui est cachée par l'apparente simplicité de la chose.

Les crochets "[]" indiquent que le contenu est facultatif, ne les tapez pas, exemples:

var test=5;déclare une variable de type numérique
var titre="Bonjour !";  déclare une variable de type chaîne de caractères
var voiture.moteur=1;  déclare un objet "voiture" et une propriété "moteur"

Attention ! Une variable déclarée de cette manière est "locale", c'est à dire qu'elle n'est visible que dans le script, la routine, ou l'endroit où on la déclare, pour déclarer une variable "globale" (visible et utilisable dans tout le programme et donc dans toute la page), ne mettez pas le mot clef "var". Vous pouvez donc avoir des variables avec le même nom dans plusieurs routines, mais dont le contenu sera différent et qui n'interféreront pas entre elles (mais il vaut mieux éviter cette confusion), ou plus grave, une variable qui semble "perdre" son contenu dans une routine, car elle n'est pas déclarée "globale".

Attention bis ! Pour les vieilles versions de javascript, le mot clef var est obligatoire, ce qui signifie que les variables sont toutes de type "locales" et que pour passer une valeur dans plusieurs routines, il faut obligatoirement la passer en paramètre, et en retourner la valeur modifiée avec par exemple: return zoubida;, ce qui peut être très très ennuyeux en cas d'utilisation de plusieurs variables dans plusieurs routines.


Les fonctions
function fonction(paramètre(s)) {programme [;return valeur]}

Déclare une nouvelle fonction (en anglais: "function", attention aux habitudes d'écriture source d'ennuis) et éventuellement un ou plusieurs paramètres séparés par des virgules (texte, valeur, ou encore: variable, tableau, fonction, etc... ...mais qui doivent être déclarés précédemment), puis le programme exécuté par la fonction et éventuellement une valeur de retour grâce au mot clef "return" et la valeur ou l'expression, exemples:

function bonjour() {document.write("Bonjour !")}
function zero() {return 0}
function somme(x,y) {return x+y}
function sommeplusdeux(x,y) {return somme(x,y)+2}

La valeur de retour pourra être mise dans une variable ou utilisée directement, exemple:
valeur=sommeplusdeux(13,7); ou encore: document.write(sommeplusdeux(3,5));


new
Comme son nom l'indique (en anglais) new permet de déclarer des nouvelles choses, telles que: Array (tableau), Boolean (vraix/faux), Date (date) , Function (fonction), Image (image), Number (nombre), Object (objet), Option (option), RegExp (chaîne de recherche), String (chaîne de caractère) et ceci de la manière suivante:

nom = new type d'objet (paramètre(s))

Exemples:

montableau=new Array(10); // Déclare un tableau de nom "montableau" à 11 cases.
datecourante=new date(); // Met la date courante dans la variable "datecourante".
anniversaire=new date(99,08,15); // Met la date en paramètre au format date dans "anniversaire".

Les autres applications de new seront éventuellement expliquées plus loin.


this
Désigne l'objet courant, syntaxe:

this[.propriété]

La propriété est facultative, exemple:

<INPUT TYPE="text" NAME="Adresse" SIZE="50" onChange="valider(this.value)">

Envoie le texte contenu dans le champ "Adresse" à la routine "valider()".


for... in
Permet de faire une boucle (nous verrons les boucles en détail plus loin) pour lire toutes les propriété d'un objet (ou toutes les cases d'un tableau (un indice de tableau n'est pas forcément numérique)), syntaxe:

for (variable in objet {programme}

Exemple:

function proprietes(objet,nom)
{
  var resultat=""
  for (var i in objet)
  {
    resultat=resultat+nom+"."+i+"="+objet[i]+"<BR>"
  }
  return resultat
}
...
alert(proprietes(document.form[0].textarea[0],"Liste de noël");)

Affiche toutes les lignes du document d'un formulaire.


with
Détermine l'objet par défaut sur lequel vont porter les opérations à l'intérieur de cette fonction, évite de répéter machin.bidule.truc. un certain nombre de fois, exemple:

with (Math)
{
  a=PI*r*r;
  x=r*cos(PI);
  y=r*sin(PI/2);
}

Au lieu de Math.PI, Math.cos() et Math.sin()


Commentaire long
On peut mettre un commentaire sur plusieurs lignes entre "/*" et "*/", exemple:

/* Ici commence le sous-programme de gestion de stock crée le 2 janvier 98
Version 3.14 modifié le 3/1/98, 23/2/98, gère le formulaire ez2365236 20/5/98
(C) Richard R. BAUD 1999-2001 - 32634 lignes de code - J'en ai marre de commenter */


Allez-y !
Maintenant que vous pouvez passer la douane, il ne vous reste plus qu'a apprendre à utiliser les conditions, faire des boucles, faire des sauts, bref apprendre un peu à programmer.

RetourInfo Suite

Dernière mise à jour de cette page: 04/09/2001, visiteurs: depuis le 6 avril 2002