Skip to content

cjohansen.no
Julenissen med en cocktail

Julekalender 2008

Julekalenderen for 2008 har JavaScript og testdrevet utvikling som tema. Gjennom 24 artikler skal vi gå fra helt enkle ting - som grunnleggende syntaks - via praktiske eksempler/tutorials - til noe mer avanserte temaer. Ikke-påtrengende JavaScript og testdrevet utvikling vil gå gjennom som en rød tråd.

Ikoner/julepynt hentet herfra, herfra og herfra.

24. JavaScript-lesestoff

Med litt flaks så har min julekalender dedikert til JavaScripts magiske verden trigget interessen såppass hos noen av dere er sugne på mer grundig stoff om temaet. Her er noen gode bøker og online-ressurser.

Full article JavaScript-lesestoff.

23. JavaScript-organisering, del 2

Igår så vi på noen utfordringer JavaScript-utviklere møter når de føler behovet for å strukturere koden sin på en oversiktelig måte. Idag presenterer jeg noen forslag til løsning på disse utfordringene.

Full article JavaScript-organisering, del 2.

22. Å organisere større JavaScript-prosjekter

Når mengden JavaScript stadig øker blir det hele tiden viktigere å organisere koden på et vis. Gjennom to artikler skal vi se hvordan vi kan oppnå kode som både er lettere å vedlikeholde og å jobbe flere sammen på.

Full article Å organisere større JavaScript-prosjekter.

21. Debugging og profilering av JavaScript

Firebug er et uvurderlig verktøy for JavaScript-utvikling (og mer). Her ser vi på noen av de nyttigste verktøyene Firebug stiller opp med: debugging, profilering og inspeksjon.

Full article Debugging og profilering av JavaScript.

20. Mixins og multippel arv i JavaScript

Fordi metoder er helt vanlige egenskaper på objekter er det fullt mulig å dele metoder fritt mellom objekter. På denne måten støtter JavaScript indirekte multippel arv fordi ett objekt kan "arve" oppførsel fra flere enn ett annet objekt.

Full article Mixins og multippel arv i JavaScript.

19. En nyttigere document.createElement

Å opprette nye elementer med nettlesernes DOM-APIer er tungvindt og "verbost". Idag bygger vi en hjelpemetode som lager nye elementer på en langt mer kompakt måte.

Full article En nyttigere document.createElement.

18. Metodekjeder i JavaScript

Å kjede sammen metodekall kan resultere i kompakt kode med relativt høy leselighet. jQuery har tatt dette til det ekstreme. Vi ser litt på hvordan dette fungerer, og noen praktiske eksempler.

Full article Metodekjeder i JavaScript.

17. Hjelperen $()

De fleste rammeverkene tilbyr en "magisk" "dollarfunksjon". Vi ser litt på hva den ofte gjør, og hvordan den kan realiseres.

Full article Hjelperen $().

16. Testing av ytelse

Idag skal vi se på hvordan vi kan legge inn krav til ytelse som en del av testcasene våre.

Full article Testing av ytelse.

15. Memoisering av funksjoner

Noen ganger trenger vi kode som forgreiner seg basert på objekters tilstand, nettleserens ferdigheter eller andre omstendigheter - omstendigheter som kan være krevende ytelsesmessig. Memoisering kan i slike tilfeller ofte by på forenkling av logikk og/eller bedre ytelse.

Full article Memoisering av funksjoner.

14. Objektorientering via closures

Som en praktisk applikasjon av closures ser vi på hvordan vi med hjelp av closures kan gi objektene våre en ekstra dimensjon.

Full article Objektorientering via closures.

13. Navnerom

Fordi all JavaScript i utgangspunktet kjører i det globale skopet er det skremmende stor sjanse for kollisjoner mellom script (særlig om de er fra forskjellige kilder). Ved å bruke objekter som navnerom kan vi minimere scriptenes globale fotspor samtidig som vi kan beholde et rikt spekter av funksjonalitet.

Full article Navnerom.

12. Prototyper og JavaScripts innebygde typer

Ved hjelp av JavaScripts prototype-kjeder kan vi bygge funksjonalitet inn i objekter vi ikke selv har laget - så også JavaScripts innebygde objekter. Vi ser på hvordan dette gjøres og noen nyttige applikasjoner.

Full article Prototyper og JavaScripts innebygde typer.

11. (function() {})();

JavaScripts kanskje mest kryptiske konstruksjon er et hendig hjelpemiddel for å beskytte det globale skopet. Vi ser på hva dette er og hvordan vi kan bruke det.

Full article (function() {})();.

10. Closures

Et svært nyttig - og kraftig - konsept er såkalte closures. Å forstå hva en closure er og hvordan du kan nyttegjøre deg av dem er essensielt for å ta full glede av JavaScript.

Full article Closures.

9. Events - trå varsomt!

Events driver programmene våre når vi programmerer grensesnitt. Vi ser på JavaScripts eventmodeller, og en smart måte å gjøre eventhåndtering på. Dette er også et ublidt møte med et av de mer buginfiserte aspektene ved cross-browser JavaScript-utvikling.

Full article Events - trå varsomt!.

8. Funksjoner og parametere

JavaScript-funksjoner er svært fleksible i sin håndtering av parametere. I dagens artikkel ser vi nærmere på hvordan parametere håndteres og hva vi kan gjøre med dem.

Full article Funksjoner og parametere.

7. Traversering og manipulering av DOM

Vi er jo tross alt på nett, og et grensesnitt mot HTML-dokumentene våre er helt essensielt for å gjøre noe interessant med JavaScript. Velkommen til julekalenderens DOM-primer.

Full article Traversering og manipulering av DOM.

6. Et testdrevet eksempel

Etter to dager med prat om testdrevet utvikling i JavaScript tar vi oss tid til å gjennomføre et eksempel. Siden dette blir det første praktiske eksempelet presenterer jeg løsningen med både QUnit, jsunittest.js og YUI Test.

Full article Et testdrevet eksempel.

5. Testdrevet utvikling i JavaScript, del 2

I andre del av artikkelen om testdrevet utvikling i JavaScript ser vi på noen aktuelle testrammeverk, og sammenligner deres gode og dårlige sider.

Full article Testdrevet utvikling i JavaScript, del 2.

4. Testdrevet utvikling i Javascript, del 1

JavaScript er like god kandidat som et hvilket som helt annet språk for testdrevet utvikling. Gjennom tre artikler skal vi ser litt på hva som ligger i testdrevet utvikling, hvordan vi kan gjøre det i JavaScript, og hvilke rammeverk som er tilgjengelig.

Full article Testdrevet utvikling i Javascript, del 1.

3. null, undefined og NaN

Siste del av julekalenderens JavaScript-primer tar for seg de spesielle verdiene null, undefined og NaN.

Full article null, undefined og NaN.

2. Arrayer, funksjoner og objekter

Mer grunnleggende JavaScript: vi fortsetter fra igår og ser på arrayer, funksjoner og objekter i JavaScript.

Full article Arrayer, funksjoner og objekter.

1. En Javascript-primer

For at alle skal kunne ha glede av årets JavaScript-kalender starter vi med en rask gjennomgang av grunnleggende syntaks, primitive typer og kontrollsetninger.

Full article En Javascript-primer.

2006 - 2010 Christian Johansen Creative Commons License