propriétés des tableaux |
See You Why? |
En introduisant les tableaux, nous avions signalé que les tableaux JS étaient des objets JS et qu'ils allaient répondre aux critères d'avoir des propriétés et des méthodes. Et comme les tableaux (ou arrays) sont des objets prédéfinis de JS, nous allons devoir étudier la syntaxe des différentes propriétés des tableaux.
Dès que l'on crée un nouveau tableau, sans avoir à faire quoi que ce soit, JS génère des propriétés à ce tableau. La propriété le plus souvent utilisé est la propriété length qui retient le nombre d'éléments de ce tableau.
Rappelons ici qu'au niveau des indices, le plus petit sera 0 et le plus grand sera length-1.
Ainsi, si on considère le tableau suivant:
var fruits = new Array("Orange", "Banane", "Fraise", "Pomme", "Poire", "Abricot");
la propriété length
du tableau fruits
sera notée fruits.length
et prendra ici la valeur de 6. Exemple:
document.write("Votre tableau fruits comporte "+fruits.length+" éléments.");
Peu utilisée, la propriété constructor est une propriété qui s'applique à plusieurs types d'objets JS, comme les String, les Date, les Object et les Array. Cette propriété fait référence à la fonction qui a créé cet objet.
Les réponses sont du type suivant:
aujourdhui.constructor
affichera function Date() { [native code] }
monRect02.constructor
affichera function rectangle(long,larg) { this.longueur = long; this.largeur = larg; }
Peu utilisée et peu documentée, cette propriété nous semble surtout utile dans le cas de l'usage d'expressions régulières (voir ici). Nous illustrerons ce cas plus tard.
Tous les objets JavaScript ont cette propriété prototype qui est en lecture seule. Vous pouvez ajouter des propriétés et des méthodes au prototype, mais vous ne pouvez pas assigner un autre prototype à l'objet. Toutefois, un nouveau prototype peut être assigné aux objets définis par l'utilisateur. Vous utiliserez cette propriété prototype pour fournir un jeu de fonctionnalités de base à un constructeur d'objets. Les nouvelles instances d'un objet « héritent » du comportement du prototype assigné à cet objet.
Par exemple, pour ajouter une méthode à l'objet Array, dans notre cas baptisé monTableau, qui retourne la valeur du plus grand élément du tableau, déclarez la fonction, ajoutez-la à Array.prototype, puis utilisez-la. Voici comment faire:
function tableau_max( ) {
var i, max = this[0];
for (i = 1; i < this.length; i++) {
if (max < this[i]) {
max = this[i];
}
}
return max;
}
Array.prototype.max = tableau_max;
var monTableau = new Array(7, 1, 3, 11, 25, 9);
document.write(monTableau.max());
Les listes de méthodes et de propriétés reprises dans ce guide de référence du langage indiquent, pour chaque objet intrinsèque, lesquelles appartiennent au prototype de l'objet et lesquelles n'en font pas partie.
voir suite >>>
voir suite >>>
voir suite >>>