SELFHTML

Fonctions indépendantes de l'objet

Page d'information: vue d'ensemble

vers le bas Généralités sur les fonctions indépendantes de l'objet
vers le bas decodeURI() (décode une URI codée)
vers le bas decodeURIComponent() (décode une URI codée - II)
vers le bas encodeURI() (coder une URI)
vers le bas encodeURIComponent() (code une URI - II)
vers le bas eval() (interpréter une expression )
vers le bas escape() (transforme des signes ASCII en nombres)
vers le bas isFinite() (vérifie le domaine numérique de valeurs )
vers le bas isNaN() (vérifie si la valeur n'est pas un nombre)
vers le bas parseFloat() (transforme en nombre avec décimales)
vers le bas parseInt() (transforme en nombre entier)
vers le bas Number() (transforme un objet en nombre)
vers le bas String() (transforme le contenu d'un objet en une chaîne de caractères)
vers le bas unescape() (transforme des nombres en caractères ASCII)

 vers le bas 

Généralités sur les fonctions indépendantes de l'objet

Les fonctions indépendantes de l'objet sont, par opposition aux Autre page d'information fonctions que vous définissez vous-mêmes, déjà prédéfinies en JavaScript. Ce qui veut dire que vous pouvez à tout moment appeler ces fonctions.

Il s'agit de commandes JavaScript déterminées, puissantes pour certaines, et qui n'entrent dans aucun des objets JavaScript échappant ainsi au sens d'orientation sur l'objet de JavaScript.

 vers le hautvers le bas 

JavaScript 1.5Netscape 6.0MS IE 5.x decodeURI()

Décode une Autre page d'information URI, qui a été codée avec vers le bas encodeURI().

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
Adresse = "http://www.my.fr/cgi-bin/script.pl?Text=le texte transmis&Nom=Serge François";
document.write("<b>Adresse décodée:<\/b> " + Adresse + "<br>");
Adresse = encodeURI(Adresse);
document.write("<b>Adresse codée:<\/b> " + Adresse + "<br>");
Adresse = decodeURI(Adresse);
document.write("<b>Adresse décodée à nouveau:<\/b> " + Adresse + "<br>");
//-->
</script>
</body></html>

Explication:

L'exemple définit une adresse typique avec des paramètres à transmettre à un script. D'abord celui-ci écrit l'adresse telle quelle dans le document. Ensuite l'adresse est traitée avec encodeURI() et sortie pour contrôle. Enfin et d'après le même schéma decodeURI() est appliquée et l'adresse est sortie encore une fois.

Attention:

Opera 5.12 n'interprète pas cette méthode.

 vers le hautvers le bas 

JavaScript 1.5Netscape 6.0MS IE 5.x decodeURIComponent()

Comme vers le haut decodeURI(). Ne doit être toutefois appliquée qu'à des adresses ou des lignes d'adresses ayant été codées avec vers le bas encodeURIComponent().

 vers le hautvers le bas 

JavaScript 1.5Netscape 6.0MS IE 5.x encodeURI()

Crypte une Autre page d'information URI de telle façon que tous les caractères spéciaux sont transformés en séquences de signes ASCII. Particulièrement important pour les appels de scripts CGI avec paramètres. Car HTML 4.0 réclame par exemple dans l'attribut href pour les liens, des chaînes de caractères cryptées dans la mesure où les adresses contiennent des caractères spéciaux.

Code tout sauf les caractères suivants:
A à Z
a à z
- _ . ! ~ * ' ( )
, / ? : @ & = + $

Les caractères avec accents en français par exemple - ou avec Umlaut en allemand-, les caractères spéciaux ainsi que les espaces, les parenthèses accolades ou pointues etc... sont donc codés.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
var Adresse = encodeURI("http://www.my.fr/cgi-bin/script.pl?Texte=le texte transmis&Nom=Serge François");
document.write("<a href=\"" + Adresse + "\">lien<\/a>");
//-->
</script>
</body></html>

Explication:

L'exemple appelle la fonction encodeURI() et lui transmet une URI typique avec des paramètres. La valeur renvoyée par la fonction est sauvegardée dans la variable Adresse. Enfin, un lien est écrit de façon dynamique dans le fichier, alors que l'adresse cryptée auparavant est insérée dans l'attribut href.

Attention:

Opera 5.12 n'interprète pas cette méthode.

 vers le hautvers le bas 

JavaScript 1.5Netscape 6.0MS IE 5.x encodeURIComponent()

Comme vers le haut encodeURI(), à la différence près que les signes suivants sont également codés:
, / ? : @ & = + $

 vers le hautvers le bas 

JavaScript 1.0Netscape 2.0MS IE 3.0 escape()

Transforme les caractères de commande (caractères de commande avec des codes ASCII de 0 à 31) dans leurs valeurs ASCII numériques et cela sous forme hexadécimale. Fait devancer chaque valeur du signe de séparation "%" et renvoie la chaîne de caractères ainsi créée. Pour les signes autres que les caractères de commande, escape() renvoie les signes inchangés. Il s'agit donc d'une fonction qui enlève des valeurs les caractères de commande et des caractères spéciaux pour les traduire en chaîne de caractères.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
var exemple = "\n\r\t";
document.write(escape(exemple));
//-->
</script></body></html>

Explication:

L'exemple définit une variable exemple, à laquelle sont affectés différents caractères de commande (voir à ce sujet la partie traitant des Autre page d'information caractères de commande). Cette variable est transmise comme paramètre à la fonction escape(). Le résultat est écrit dans le fichier pour le contrôle.

Attention:

Cette fonction sera remplacée à l'avenir par vers le haut encodeURI()!

 vers le hautvers le bas 

JavaScript 1.0Netscape 2.0MS IE 3.0 eval()

Interprète un argument à transmettre et renvoie le résultat.
Si l'argument transmis peut être interprété comme une opération de calcul, l'opération est effectuée et son résultat est retourné. Cette méthode permet aussi des opérations de calcul complexes avec expressions entre parenthèses. Cette fonctionnalité est très pratique pour, avec une seule commande, faire calculer des opérations notées en tant que chaînes de caractères.
Si l'argument transmis peut être interprété en tant qu'objet ou propriété d'objet, l'objet ou la propriété d'objet est retournée. Ce qui est important quand une chaîne de caractères (par exemple le contenu d'un champ de formulaire ou le paramètre transmis à une fonction) doit être interprété en tant qu'objet.
Provoque un message d'erreur si l'expression transmise ne peut être interprétée.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
</head><body>
<form action="">
<input size="30" name="saisie">
<input type="button" value="Calculer"
onClick="alert(eval(this.form.saisie.value))">
</form>
</body></html>

Explication:

L'exemple contient un formulaire avec un champ de saisie et un bouton. Dans le champ de saisie, l'utilisateur peut entrer une opération, par exemple: 1+2+3+4+5+6+7+8+9 ou 12.78*5.13. En cliquant sur le bouton, la valeur du formulaire est calculée avec eval() et sortie dans une boite de dialogue.

 vers le hautvers le bas 

JavaScript 1.3Netscape 4.xMS IE 4.0 isFinite()

Recherche si une valeur fait partie d'une plage de nombres que JavaScript peut traiter, donc si elle représente un nombre valide d'après JavaScript.
Renvoie true si la valeur est un nombre valide, et false, si ce n'est pas un nombre ou si le nombre se situe en dehors des plages de valeurs interprétées par JavaScript. Aussi bien les nombres entiers que les nombres avec décimales sont reconnus comme nombres valides. Pour les nombres avec décimales, le signe de séparation doit être le point.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
<script type="text/javascript">
<!--
 var nombre=Number.MAX_VALUE;
 if (!isFinite(nombre*2)) alert("Le nombre ne peut être traité.");
//-->
</script>
</head><body>
</body></html>

Explication:

L'exemple définit une variable nombre à la quelle est affectée la valeur Autre page d'information Number.MAX_VALUE, le plus grand nombre possible. Dans la requête qui suit, il est vérifié si le produit de ce nombre par 2 se situe dans la plage des nombres que JavaScript peut traiter. Si ce n'est pas le cas, un message adéquat est sorti.

 vers le hautvers le bas 

JavaScript 1.1Netscape 3.0MS IE 4.0 isNaN()

Recherche si une valeur à transmettre est un nombre invalide (NaN = Not a Number).
Renvoie true si la valeur n'est pas un nombre et false, si c'en est un. Aussi bien les nombres entiers que les nombres avec décimales sont reconnus comme nombres valides. Pour les nombres avec décimales, le symbole décimal doit être un point.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
<script type="text/javascript">
<!--
function verification(valeur)
{
 if(isNaN(valeur) == true)
 {
  alert(valeur + " n'est pas un nombre!");
  return false;
 }
 else return true;
}
//-->
</script>
</head><body>
<form action="">
<input size="30" name="saisie">
<input type="button" value="Check"
onClick="verification(this.form.saisie.value)">
</form>
</body></html>

Explication:

L'exemple contient un formulaire avec un champ de saisie et un bouton. En cliquant sur le bouton, la fonction verification() est appelée. La valeur du champ de saisie du formulaire est transmise comme paramètre. verification() vérifie si la valeur transmise est un nombre. Pour ce faire, isNaN() est appliqué à la valeur transmise. Si ce n'est pas un nombre, un message d'erreur est sorti.

Attention:

Pour cette méthode, même les nombres situés en dehors des plages de nombres de JavaScript sont des nombres valides. Pour vérifier l'ordre de grandeur des nombres, vous devez utiliser la méthode vers le hautisFinite().

 vers le hautvers le bas 

JavaScript 1.0Netscape 2.0MS IE 3.0 parseFloat()

Transforme la chaîne de caractères transmise en nombre et renvoie la valeur numérique de celle-ci. Quand le nombre peut être interprété comme nombre avec décimales, cela est pris en considération. Comme signe décimal, il n'y a cependant que le point qui est reconnu. Judicieux pour transformer les saisies de l'utilisateur en nombres, avec lesquels il est ensuite possible de calculer.
Retourne NaN (Not a Number) si la chaîne de caractères commence par une lettre ne pouvant être interprétée comme partie d'un nombre.
Quand la chaîne de caractères contient des signes non valables après des chiffres, le nombre est interprété jusqu'au premier signe non valable et la partie interprétée est renvoyée.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
var elements = new Array("18","18.1","18,9","abc","1a");
document.write("<h1>Application de  <i>parseFloat()<\/i><\/h1>");
for(var i=0;i<elements.length;++i)
 document.write(elements[i] + " = <b> " + parseFloat(elements[i]) + "<\/b><br>");
//-->
</script></body></html>

Explication:

L'exemple définit un Autre page d'information Array avec différents éléments qui sont en partie des nombres entiers, en partie des nombres avec des décimales, et pour le reste pas de nombres du tout. Ensuite, tous les éléments du tableau sont écrits dans le fichier de façon dynamique avec la méthode Autre page d'information write(). Ce faisant, la fonction parseFloat() est appliquée à chaque élément du tableau.

 vers le hautvers le bas 

JavaScript 1.0Netscape 2.0MS IE 3.0 parseInt()

Transforme la chaîne de caractères à transmettre en nombre entier et renvoie la valeur numérique de celle-ci comme résultat. Fonction judicieuse, par exemple pour transformer les saisies de l'utilisateur en nombres avec lesquels on peut ensuite calculer.
Retourne NaN (Not a Number) si la chaîne de caractères commence par une lettre ne pouvant être interprétée comme partie d'un nombre.
Quand la chaîne de caractères contient des signes non valables après des chiffres, le nombre est interprété jusqu'au premier signe non valable et la partie interprétée est renvoyée. Ici aussi pour parseInt(), la règle du point est valable.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
</head><body>
<script language="JavaScript" type="text/javascript">
<!--
var elements = new Array("18","18.1","18.9","abc","1a");
document.write("<h1>application de <i>parseInt()<\/i><\/h1>");
for(var i=0;i<elements.length;++i)
 document.write(elements[i] + " = <b> " + parseInt(elements[i]) + "<\/b><br>");
//-->
</script></body></html>

Explication:

L'exemple définit un Autre page d'information Array avec différents éléments qui sont en partie des nombres entiers, en partie des nombres avec des décimales, et pour le reste pas de nombres du tout. Ensuite, tous les éléments du tableau sont écrits dans une boucle for dans le fichier de façon dynamique avec la méthode Autre page d'information write(). Ce faisant, la fonction parseInt() est appliquée à chaque élément du tableau.

Attention:

La méthode parseInt() permet un deuxième paramètre facultatif radix. Ce paramètre contient la base du système numérique utilisé. L'appel de parseInt(string,radix) recherche dans la chaîne qui représente un nombre d'un autre système numérique, le nombre décimal correspondant. La méthode parseInt() peut donc en même temps être utilisée pour transformer des nombres d'autres systèmes numériques en nombres du système numérique décimal. Ainsi par exemple l'appel de parseInt("11111",2) donne-t il le nombre 31. Le paramètre facultatif accepte des valeurs comprises entre 2 et 36. Avec la méthode Autre page d'information toString() de l'objet Autre page d'information Number vous pouvez convertir dans l'autre sens, des nombres du système décimal en chaînes de caractères de nombres d'autres systèmes numériques. Il est également possible pour le faire - contrairement à la méthode parseInt() - de convertir des nombres avec décimales.

Tout particulièrement dans le domaine du calcul de la date des nombres commençant par un zéro sont souvent utilisés. Des tâches simples telles que alert(08*60) donnent alors un résultat erroné ou même un message d'erreur. La clé du mystère en est que JavaScript interprète les nombre commençant par zéro comme des nombres du système octal, et non pas du système décimal. Avec une instruction telle que alert(parseInt("08",10)*60) vous pouvez éviter ce problème et imposer que la valeur soit interprétée comme nombre décimal.

 vers le hautvers le bas 

JavaScript 1.2Netscape 4.0MS IE 4.0 Number()

Convertit le contenu d'un objet en nombre et renvoie le nombre. Attend comme paramètre le contenu de l'objet. Si le paramètre transmis ne peut être interprété comme nombre, NaN (Not a Number) est renvoyé. Utilisable avant tout en relation avec l'objet Autre page d'information Date.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
 var d = new Date ("March 15, 1998 08:27:00"); 
 document.write(Number(d));
//-->
</script></body></html>

Explication:

L'exemple définit un nouvel objet Date et l'initialise avec une valeur dans le format GMT. L'objet Date est sauvegardé dans la variable d. Ensuite, cette variable est transmise à la fonction Number() comme paramètre. La fonction Number() y a le même effet que la méthode d.getTime(), c'est à dire que le nombre de millièmes de secondes entre le 1/1/1970 et la date et l'heure sauvegardés dans d est calculé. Dans l'exemple, le résultat est écrit dans le fichier pour le contrôle.

 vers le hautvers le bas 

JavaScript 1.2Netscape 4.0MS IE 4.0 String()

Convertit le contenu d'un objet en chaîne de caractères et renvoie la chaîne de caractères.
Utilisable avant tout en relation avec l'objet Autre page d'information Date.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
</head><body>
<script type="text/javascript">
<!--
 var d = new Date (); 
 document.write(String(d));
//-->
</script></body></html>

Explication:

L'exemple définit un nouvel objet Date avec l'heure et la date actuelles. L'objet Date est sauvegardé dans la variable d. Ensuite, cette variable est transmise comme paramètre à la fonction String(). La fonction en fait une chaîne de caractères qui représente l'heure et la date sauvegardées au format GMT. Dans l'exemple, le résultat est écrit dans le fichier pour le contrôle.

 vers le hautvers le bas 

JavaScript 1.0Netscape 2.0MS IE 3.0 unescape()

Transforme tous les signes de la chaîne à transmettre en caractères ASCII normaux et renvoie la chaîne de caractères ainsi créée. La chaîne de caractères à transmettre doit contenir pour chaque signe à transformer un signe pourcentage ("%") et la valeur hexadécimale du caractère dans la table de caractères ASCII.

Exemple:

Démonstration - nouvelle fenêtre Exemple d'affichage: aperçu

<html><head><title>Test</title>
</head><body>
<script language="JavaScript" type="text/javascript">
<!--
var exemple = ""%53%65%72%67%65";
document.write(unescape(exemple));
//-->
</script></body></html>

Explication:

L'exemple définit une variable nommée exemple et lui affecte une chaîne de caractères. La chaîne de caractères est composée d'une série de signes codés en hexadécimal. Chaque signe est précédé d'un signe pourcentage, suivi de la valeur hexadécimale du caractère. Cette variable est transmise à la fonction unescape() comme paramètre. Le résultat est inscrit pour le contrôle dans le fichier. Dans l'exemple, le mot "Serge" est créé.

Attention:

Cette fonction sera remplacée à l'avenir par vers le haut decodeURI()!

 vers le haut
page suivante Autre page d'information Changer simultanément deux frames
page précédente Autre page d'information String
 

© 2001 Stefan Münz / © 2003 Traduction Adresse électronique Serge François, 13405@free.fr
Adresse électronique selfhtml@fr.selfhtml.org