Guide JavaScript 1.5:Instructions de manipulation d'objets
Un article de MDC.
Sommaire |
[modifier] Instructions de manipulation d'objets
JavaScript utilise les instructions for...in, for each...in et with pour manipuler les objets.
[modifier] L'instruction for...in
L'instruction for...in parcourt toutes les propriétés d'un objet identifié par la variable spécifiée. Pour chacune de ces propriétés, JavaScript exécute les instructions spécifiées. Une instruction for...in ressemble à ceci :
for (variable in objet) {
instructions
}
Exemple
La fonction suivante reçoit en paramètre un objet et le nom de cet objet. Elle parcourt ensuite toutes les propriétés de l'objet et renvoie une chaîne listant les noms et valeurs de ces propriétés.
function affiche_props(obj, nom_obj) {
var resultat = "";
for (var i in obj) {
resultat += nom_obj + "." + i + " = " + obj[i] + "<br>"
}
resultat += "<hr>";
return resultat;
}
Pour un objet voiture avec les propriétés marque et modele, le résultat serait :
voiture.marque = Ford; voiture.modele = Mustang;
Objets Array
Bien qu'il puisse être tentant d'utiliser for...in pour parcourir des objets Array, ce n'est pas forcément une bonne idée. En effet, comme l'instruction for...in parcourt les propriétés personnalisées en plus des éléments du tableau, si l'objet Array a été modifié de manière à lui ajouter des propriétés ou méthodes supplémentaires, l'instruction for...in renverra le nom de ces propriétés personnalisées en plus des indices numériques. Il est donc préférable d'utiliser une boucle for traditionnelle sur l'indice numérique lorsqu'on désire parcourir un tableau.
[modifier] L'instruction for each...in
for each...in est une instruction de boucle introduite dans JavaScript 1.6. Elle est similaire à for...in, mais parcourt les valeurs des propriétés d'un objet plutôt que leur nom.
[modifier] L'instruction with
L'instruction with établit l'objet par défaut pour une série d'instructions. JavaScript cherche parmi tous les noms de variables inconnus de l'ensemble d'instructions pour déterminer s'ils sont des propriétés de cet objet par défaut. Si l'un de ces noms correspond à une propriété, la propriété est utilisée dans l'instruction ; dans le cas contraire, une variable locale ou globale est utilisée.
Une instruction with ressemble à ceci :
with (objet) {
instructions
}
Exemple
L'instruction with suivante spécifie que l'objet Math est l'objet par défaut. Les instructions qui suivent font référence à la propriété PI et aux méthodes cos et sin, sans spécifier d'objet. JavaScript suppose alors qu'il doit utiliser l'objet Math pour ces références.
var a, x, y;
var r = 10;
with (Math) {
a = PI * r * r;
x = r * cos(PI);
y = r * sin(PI/2);
}
Note : Bien que l'utilisation d'une instruction with puisse rendre votre programme plus concis, son usage impropre peut ralentir votre programme de manière significative. Consultez Référence de JavaScript 1.5 Core:Instructions:with.