Avatar billede BIF77 Nybegynder
15. oktober 2009 - 14:55 Der er 1 kommentar og
1 løsning

Javascript OO

Hej Eksperter.

Jeg har igang med at lave en web program som snakker med noget webservice igennem noget javascript(ajax) osv.

Jeg har bare lidt svært med at forstå hvordan det her javascript oo måske fungere i praksis i henholdt til noget af det jeg laver.

jeg har en funktion som samler en masse info fra inputfelter og updatere osv. men det er ikke altid jeg lige kan få fat i de ting jeg skal bruge til feks. funktionen (looplines) uden af det bliver grimt. Jeg vil gerne lave det OO baseret så det bliver mere profesionel, ligenu er det bare procedurelt programmering.
også er det også lidt besværligt, for man skal altid holde tungen lige u munden :( .

eks.
  function looplines(part,parts){
  for(i=1;i<=parts;i++){{
      updateline(part)
  }
  }

  function updateline(part){
  var text = document.getElementByid('text'+part).value
  var id = document.getElementByid('id'+part).value
  osv.. til sidst bliver det så lavet til noget xml osv...

  }


Er det nogen der kunne måske komme med eks. eller forslag om hvordan jeg måske kan hjælpe mig selv lidt...

Jeg har søgt og søgt men ikke rigtige fundet ud hvordan man i praksis kan lave det her...?


kan man bruge objecter til at feks. samle en masse oplysninger og få fat i dem på en meget nemmere måde osv...


alle forlag er velkommen :).
Avatar billede j4k0b Nybegynder
15. oktober 2009 - 16:04 #1
Well, jeg forstår ikke hvad du spørger efter, eller hvad du helt præcist vil have feedback på, men jeg kan da give dig et eksempel på en Javascript klasse med lidt blandet gejl.

Dog kan jeg ikke forklare en hel verden for dig, så du må selv bruge lidt tid på at læse OOP:
http://www.google.dk/search?q=javascript+oop



function MinTestKlasse(param1, param2) {

    // Private attributer deklareres med 'var'
    // Det gælder både members og methods
    var privat_member = param1;
    var privat_method = function() {
        alert(privat_member);
    }

    // Public attributer deklareres med this.
    // Det gælder både members og methods
    this.public_member = param2;
    this.public_method = function() {
        alert(this.public_member);
        // Private members og methods refereres til uden this.
        privat_method();
    }
}

test = new MinTestKlasse('jakob', 'johnny');
test.public_method();
Avatar billede ebusiness Nybegynder
15. oktober 2009 - 16:48 #2
Det var så OO-nørd svaret for folk der vil have at JavaScript skal ligne Java mest muligt.

Hvis man bare gerne vil have nogle objekter til at gemme data i og ikke går op i publics og privates så kan man bare oprette objekter dynamisk og tilføje de felter man har brug for:

Eg.

foo={} //foo er nu et objekt
bar={a:"vaerdi",2:45} //bar er nu et objekt med værdier sat for a og 2
bar.b="noget" //bar har fået tilføjet en værdi
bar.do=function(){return this[2]*this[2]} //bar har fået tilføjet en funktion/metode.

Du kan tilgå felter enten ved hjælp af . tegnet: bar.b
Eller ved hjælp af [] og en værdi svarende til feltnavnet: bar["b"] bar[2]
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