Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Les collections et les tableaux

4 réponses
Avatar
Tom
Bon voila, j'essaye de rentrer un peu dans la th=E9orie du langage...

Je tombe souvent sur une "collection" d'objet (document.applets --
document.styleSheets) mais je ne trouve pas d'objet "collection" dans
la norme EcmaScript

J'ai cherch=E9 sur mdc et msdn et rien trouve de probant ...

Une collection n'est pas un tableau puisqu'il poss=E8de la methode
item()

Est ce qu'on peut dire reelement qu'une collection est une
NodeList ???
Pourtant sur le site du w3c, ils definissent document.styleSheets
comme un objet avec les meme propriete que NodeList mais pas
directement comme un nodeList

Prise de tete un peu pour rien ... Je suis en train de faire un
tutorial pour mes eleves et voila
Merci

4 réponses

Avatar
Mickaël Wolff

Je tombe souvent sur une "collection" d'objet (document.applets --
document.styleSheets) mais je ne trouve pas d'objet "collection" dans
la norme EcmaScript


Non, ce sont des HTMLCollection
<http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html#ID-75708506>.

Est ce qu'on peut dire reelement qu'une collection est une
NodeList ???


D'après la norme du W3C, non, puisqu'un HTMLCollection n'hérite pas de
NodeList
<http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-536297177>.

Pourtant sur le site du w3c, ils definissent document.styleSheets
comme un objet avec les meme propriete que NodeList mais pas
directement comme un nodeList


HTMLDocument.styleSheets n'est pas normalisé (en tout ca,s je n'ai
rien trouvé dans ce sens sur le site du w3c).


Prise de tete un peu pour rien ... Je suis en train de faire un
tutorial pour mes eleves et voila


Vous êtes prof de quoi ?
Et sur quoi va porter le cours, précisément ?

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Avatar
Mickaël Wolff

HTMLDocument.styleSheets n'est pas normalisé (en tout ca,s je n'ai
rien trouvé dans ce sens sur le site du w3c).


En fait, si :)
<http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/stylesheets.html>

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Avatar
YD
Bon voila, j'essaye de rentrer un peu dans la théorie du langage...


Alors il faut bien s'imprégner de ce que l'on peut lire
au début de la norme ECMA-262 3e édition, p. 1, § 4. En
substance bien faire la distinction entre l'environnement
hôte qui fournit ses objets manipulables par script et le
langage de script et les objets qu'il fournit ou permet
de construire.

Je tombe souvent sur une "collection" d'objet (document.applets --
document.styleSheets) mais je ne trouve pas d'objet "collection" dans
la norme EcmaScript


Pas de collections en Ecmascript mais des objets (Object,
Array, Function, Number, etc.)

J'ai cherché sur mdc et msdn et rien trouve de probant ...
Une collection n'est pas un tableau puisqu'il possède la methode
item()


On peut ajouter à un objet Array (tableau n'a aucun sens en
JS) des propriétés... Par exemple :
------
Array.prototype.item = function(e){return this[e];}

var a = ['a','b','c','d','e'];
alert(a.item(3));
------
Mais les collections dont il est fait mention ici sont
fournies par le navigateur avec toutes sortes de propriétés
(pas de méthodes en JS, mais des propriétés de type
Function) qui permettent par script d'accéder aux objets
du navigateur.

Est ce qu'on peut dire reelement qu'une collection est une
NodeList ???


Je dirai l'inverse ! Une NodeList est une collection de
noeuds (dans le DOM, pas le JS). La notion de collection
est assez floue et varie d'un navigateur à l'autre (pour
ne parler que d'eux).

Pourtant sur le site du w3c, ils definissent document.styleSheets
comme un objet avec les meme propriete que NodeList mais pas
directement comme un nodeList


Pour ECMAScript, tout est objet alors... Mais, et
j'enfonce le clou, ni l'objet document, ni sa propriété
styleSheets ne sont des objets Javascript. Ce sont des
objets fournis par l'environnement hôte et manipulables
par script.

Prise de tete un peu pour rien ... Je suis en train de faire un
tutorial pour mes eleves et voila


Si tu dois transmettre, il vaut en effet mieux que cela
soit clair pour toi !

--
Y.D.

Avatar
Tom
Merci de tous ses renseignements, me reste plus qu'a imprimer et à
relire plusieurs fois (pour etre sur de comprendre)

Réponse à Mickaël Wolff :
Je suis prof de math ... J'organise pour les eleves de lycee un
atelier informatique ...
Voila les tutoriaux pour le web que j'ai tape :

Kompozer
http://castanet.vije.net/index.php?choix'3
Html
http://castanet.vije.net/index.php?choix9
CSS
http://castanet.vije.net/index.php?choix8
Javascript
http://castanet.vije.net/index.php?choix1

C'est la premiere annee que je fais ca ... Ils seront revus et
corriges la prochaine annee scolaire