Årets program sætter fokus på cybersikkerhed som samfundssikkerhed
Slettet bruger
05. maj 2003 - 14:09#1
Jeg må indrømme, at jeg aldrig har set den syntaks før, men man kan jo godt regne sig frem til, hvad den gør. Det ligner grangiveligt en shorthand måde at lave objekter på. Objektet "ImageRotate" kreeres med arrayet "_image" og tællervariablen "_inload". Derefter laves en funktion, der hører til ImageRotate-objektet, som hedder "CreateImage". Denne funktion skal bruge en parameter, nemlig "path". Funktionen kalder den en af objektets andre funktioner, "_ImageInLoad", og udvider derefter _image-arrayet. Det virker dog, som om der mangler en funktion til objektet, nemlig "Image", som kaldes i "CreateImage"-funktionen. Er der noget kode, du ikke har vist?
Det er en helt standard short-hand for en object-constructor - der er forkert kodet. Der mangler en del gåseøjne :) Sådan ... så kan du se, hvad de forskellige ting er:
<script type="text/JavaScript"> var ImageRotate = { "_image":["davs", "du"], "_inload":0, "CreateImage" : function(path){ this._ImageInLoad() this._image[this._image.length] = new ImageRotate.Image(path) },
En instans af objektet indeholder to properties ('_image' og '_inload'), samt tre metoder. Property'en '_image' er et array (jeg har lige fyldt et par elementer i, for at du kan se den i en alert) og '_inload' er formodentlig en boolean (0 eller 1).
Der mangler ganske rigtigt en funktion, der skal definere metoden 'Image()'. Den kan evt. blive klistret på objekt-instansen senere - eller på alle instanser via objektets prototype. /mvh </bole>
<edit> standard short-hand for en object-constructor </edit>
hvad menes der med short hand?..
ved godt der mangler noget kode.. ville ikk tage det hele med. da jeg bare ville have en forklaring på hvorfor funktionerne var langt ind i en variable!
... og funktionerne er ikke lagt ind i en variabel. Der bliver konstrueret metoder på det resulterende objekt. Disse metoder defineres ved hjælp af funktionerne. /mvh
PS: Property'en '_image' bliver også konstrueret med en short-hand-constructor. Du kan konstruere arrays med:
var mitArray = new Array("element 1", "element 2");
Short-hand-versionen af en array-construtor ser sådan ud:
var mitArray = ["element 1", "element 2"];
Du kan ikke oprette associative arrays med en short-hand-constructor i JS - men da objekter og associative arrays minder så meget om hinanden i JS, kan du 'snyde' lidt og oprette et objekt i stedet:
Undskyld, jeg har været væk et stykke tid :) For at besvare det, må jeg se noget mere kode. /mvh
Synes godt om
Ny brugerNybegynder
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.