Avatar billede nikolajdu Nybegynder
12. juli 2002 - 14:18 Der er 5 kommentarer og
1 løsning

Er det Arrays eller ej....

Havde en længere diskussion med =maddog= i nat og her diskuterede vi blandt andet arrays.

Samme diskussion havde jeg forleden med en gammel kollega og han siger at f.eks document.links ikke er en array. Godt nok ligner den og opfører sig som en array, men det hed noget andet. Hvad kan jeg dog ikke huske, men han plejer meget sjældent at tage fejl :))

f.eks document.body.style['backgroundColor'] = '#333333'; - skulle både Den gale hund og jeg mene var et Associativt Array. - Hvor meget tager vi fejl??

/Nikolaj
Avatar billede mikoalngelo Nybegynder
12. juli 2002 - 17:46 #1
Det virker som en meget intellektuel  konversation, så jeg ønsker at holde mig orienteret om dette, hvilket er grunden til dette indlæg.

til jer derude:
Æ' me' å' en lytter
Avatar billede bamzen Nybegynder
12. juli 2002 - 19:28 #2
Hvorfor kalde det noget andet, når det både virker og opfører sig som et array. Jeg vil mene at betegnelsen array er en generel betegnelse, hvorfor den er også er gældende for den omtalte type.

Det er lidt som med tobak.... (specielt for piberygere),
her er der noget tobak der indeholder whisky
Noget med vanilie
noget rent

men fælles for dem alle, er at de både smager som, fungerer som, og opfører sig som tobak


/Martin
Avatar billede nikolajdu Nybegynder
13. juli 2002 - 04:30 #3
Bamzen - Du har helt ret, men her taler vi om rent tekniske delikatesser. Jeg må og skal vide om jeg har ret - Ligemeget hvor meget det så end ligner eller er arrays.

Anyway så minder dit eks. om svensk snus, der kan fåes bl.a med whisky smag... :))

/Nikolaj
Avatar billede jumper Nybegynder
15. juli 2002 - 10:27 #4
document.links og document.images er Collections, ikke arrays. Det samme gør sig gældende for document.getElementsByTagName("DIV") der returnerer en Collection af HTML Elements.
Alle HTML Collections har en length property, hvilket er grunden til at I behandler det akkurat som et array. Ligeledes har en Collection en default method, item, der gør at I endda kan bruge numerisk array notation på disse. Ergo, document.links[0] er det samme som document.links.item(0), hvilket forårsages af bindingen imellem core ( JavaScript/JScript/ECMAScript/PerlScript/VBScript/Etc. ) og host ( DOM/ASP/WSH/Etc. ).

Den specifikke binding imellem JavaScript og DOM kan I se på

http://www.w3.org/TR/2002/CR-DOM-Level-2-HTML-20020605/ecma-script-binding.html

/Thor
Avatar billede nikolajdu Nybegynder
15. juli 2002 - 12:59 #5
Kanon - Tak skal du ha Jumper :)
Avatar billede =maddog= Nybegynder
15. juli 2002 - 13:16 #6
Jes. Super tak Jumper. Vi har haft en sludder om det og selv i fællesskab kunne vi ikke hitte ud af hvad det var.
Arrays er i forvejen ret specielle i JS, idet det er et objekt med seperat constructor (new Array();). Man kunne velsagtens få arrays til at opføre sig som collections ved
Array.prototype.item = function(num) {
if (num.constructor != "Number" || isNaN(parseInt(num))) return null;
return this[parseInt(num)];
}
(uden at have testet det, skal sikkert have en try{}catch{} blok :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester