Niveau
..........
En rapport...

idée

Ademtons que vous aillez un objet nommé “obj” (original non ?).
Pour l'activer vous utlisez :
obj.disabled=true
et pour le desactiver :
obj.disabled=false
Si maintenant je vous dit :
Je veux activer “obj” si il est désactivé et le désactiver si il est activé.

Beaucoup vont me dire : “je fait un if”…
Pourtant il y a beaucoup plus simple : obj.disabled=!obj.disabled

Ce principe ne fonctionne que sur des valeur de type boolean (vrai ou faux)

Explication

Partont de l'hypothese du IF, vous auriez donc ecrit :

javascript
if (obj.disabled==false) {
      obj.disabled==true;
} else {
      obj.disabled==false;
}

Et ce code pourrais être simplifé en

javascript
if (!obj.disabled) {
      obj.disabled==true;
} else {
      obj.disabled==false;
}

On remarque dans cette syntaxe que l'on utlise le ! pour dire “différent de true”
En fait, le point d'exclamation veut dire différent, or dans un boolean il n'y a que deux valeur donc le différent de TRUE est forcement FALSE et vice versa.
De cette syntaxe, on déduit :

javascript
obj.disabled=!obj.disabled;

Qui veux dire, litérallement :
Donne a obj.disabled la valeur différente de sa valeur en cours.

Cette méthode est valable pour tout les booleans, dans n'importe quel langage !

iDo 30/11/2005 14:52