17. maj 2006 - 09:26Der er
3 kommentarer og 2 løsninger
Javascript OO
Hejsa.
Har flere steder læst at Java script er ganske fint til at lave klaser osv i, hvilket jo er dejligt. Desværre har jeg ikke formået at få diverse guides/artiklers fremgangsmåde til at virke så jeg håber lige der er en her som gerne lige kort vil bruge tiden på at lave en dummy for følgende eksempel.
Jeg har en html hvori jeg inkludere en javascript fil.
At inkludere javascript filen er ret simpelt da jeg bare skal bruge src optionen.
Men lad os sige jeg har dummy klasse ved navn dummy. Dummy skal have et par metoder, rent faktisk 2, så lad os kalde dem for metode1 og metode2.
Det jeg gerne vil er at vide hvordan jeg i min javascript fil laver en klasse således at jeg kan skrive test = new dummy();
og senere lave kald som dette test.metode1() og test.metode2();
Derudover vil jeg gerne høre hvordan min kode i html filen skal se ud hvis jeg gerne vil kunne lave et objekt og så bruge det samme objekt på hele siden, altså ved en knap kalde test.metode1() ved en onclick og en anden knap kalde test.metode2();
Håber jeg har gjort problemstillingen klar, så jeg kan få et entydigt svar.
(200 point, mest fordi opgaven er træls og tager tid at skrive ind, så links til andre sider er ikke præcist det jeg søger)
Jeg antager at det som laver der er beregnet til at køres i en fil? Fordi det virker fint hvis det hele er samlet i en fil, men ikke hvis jeg prøver at dele det op i 2 filer. gør følgende laver filen test.html som indeholder:
<script type="text/javascript" src="dummy.js"> test = new dummy(); test.metode1(); test.metode2(); </script> <button onclick="test.metode1();">Afprøv metode1</button>
og filen dummy.js som har følgende indhold: function dummy(){
}
dummy.prototype.metode1 = function(){ alert('Dette er metode1'); } dummy.prototype.metode2 = function(){ alert('Dette er metode2'); }
Men kører jeg så html filen får jeg fejlen, "test is not defined".
Hmm havde også prøvet at lave det i sit eget tag, men åbenbart havde kun skrevet type="javascript" og ikke type="text/javascript", hvad forskel gør det?
Den 'gamle' attribut til at frtælle hvilken type script, der er tale om hed language, f.eks. language="Javascript1.2" eller language="VBScript", mens den nutidige hedder type, og indeholder en mime-type, derfor skal du benytte en gyldig mime-type, der for javascript hedder 'text/javascript' !-)
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.