Programmering

Javascript-feilsøking

23. juli 2009 · Ingen Kommentarer

Javascript kan være, err, jeg mener er vanskelig å feilsøke. Firebug-modulen til Firefox hjelper langt på vei, men jeg har stadig klødd meg i hodet over merkelig oppførsel. Jeg liker objektorientering, så jeg lager for det meste klasser i Javascript. Med objektorientert Javascript kommer også et lass av workarounds og hacks for å få dette språket til å gjøre det man vil.

Det er veldig viktig å passe på “this”-variabelen, for den får ny betydning oftere enn du aner. Selv bruker jeg en “self”-variabel som jeg deklarerer i toppen av klassen og tilordner referansen til this, og bruker den videre inni metoder jeg deklarerer lenger ned i klassen min.

Et ekkelt problem som Firebug ikke hjelper meg noe med er hvis jeg mangler et semikolon på slutten av en metodedeklarasjon. Med andre ord, alltid husk å plassere et semikolon etter du har tilordnet en anonym funksjon til en “this.something”-variabel i klassen din. Det skal bli noe slikt som this.something = function() {};

Husk også at rekkefølgen på deklarasjoner av funksjoner og variabler spiller en stor rolle og kan gi deg mer hodebry enn du ønsker. For eksempel, hvis du bruker jQuery Form-modulen som gjør om HTML forms til å sende innholdet med Ajax, så lager du gjerne en “options”-variabel med konfigurasjon til hvilke callbacks du ønsker å kjøre før og etter Ajax har gjort sin jobb. Denne konfigurasjonen må skje enten i en metode i klassen din eller nedenfor deklarasjonen av metodene du henviser til i options-variabelen.

Det finnes tusen andre tips og triks, og hacks og problemer og irritasjon og nettleserkompatibilitet og jeg vet ikke hva, men dette er i hvert fall ting jeg har sliti litt med i dag. Lykke til.