Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DA156A - HT15 - JavaScript 1

Avatar for Anton Tibblin Anton Tibblin
September 22, 2015

DA156A - HT15 - JavaScript 1

Avatar for Anton Tibblin

Anton Tibblin

September 22, 2015
Tweet

More Decks by Anton Tibblin

Other Decks in Education

Transcript

  1. Variabler  Ett viktigt koncept är att kunna spara undan

    värden  Värden kan lagras i variabler  Variabler skapasmed nyckelordet var, följt av ett namn var name = ”Anton”; var age = 25;
  2. Värden i JavaScript  Det finns sex typer av värden

    i JavaScript 1. Number (siffror) 2. String (textsträngar) 3. Boolean (booleskt värde; sant/falskt) 4. Array 5. Object 6. Undefined & null
  3. Val / selektion  Ofta ska program göra olika saker

    beroende på användarinmatning eller resultat av en beräkning  I JavaScript kan vi välja att utföra en uppsättning instruktion, endast om ett uttryck är sant  Detta görs med en if-sats
  4. Iterationer / loopar  Det är vanligt att behöva upprepa

    en uppsättning instruktioner flera gånger.  Detta är att iterera och göra med en loop.  while-loop  for-loop
  5. Några inbyggda funktioner  prompt() – Hämta data från användaren

     alert() – Skapa en popupruta  document.write() – Utskrift på sidan
  6. Vad är en funktion?  Exempel på funktioner: - prompt()

    - alert() - document.write()  Vi vet vad de gör, men inte hur.  Vi påverkar körningen genom att skicka indata (t.ex. vad som ska skrivas ut, vilket meddelande som ska synas).  I vissa fall (prompt()) får vi tillbaka ett värde.
  7. Hur använde vi funktionerna?  Vi kallade på dem för

    att använda deras funktionalitet  Vi skickade med värde för att funktionen skulle generera det resultat vi önskade.  Vi kallade på dem genom att ange deras funktionsnamn – och skicka med värdet inom ()
  8. Definiera funktion  Inom programmering är en funktion, även subrutin,

    procedur, metod, underprogram eller subprogram, en del av ett datorprogram som kan anropas för att utföra en viss uppgift oberoende av resten av koden.  http://sv.wikipedia.org/wiki/Funktion_%28programmering%29
  9. Funktion (function)  Namngiven uppsättning instruktioner - Kan ha en

    eller fler inparametrar - Kan producera ett returvärde  Används som byggstenar för program.  En funktion kan anropas (köras) – allt man behöver veta är namnet på funktionen och om det finns inparametrar
  10. Inparametrar  En funktion kan ha 0 till flera parametrar

     En inparameter är som en variabel, vars värde definieras vid anropet av funktionen  Det värde som skickas till funktionsanrop kallas argument.
  11. Returvärde  När en funktion kört klart kan den returnera

    ett värde  Det värdet blir tillgängligt där funktionen anropas  En funktion som inte anger ett returvärde själv, returneras undefined
  12. Strukturera program med funktioner  Instruktioner anger hur saker ska

    utföras  Ofta är det lättare att tänka vad som ska utföras  Funktioner låter oss separera ”vad” från ”hur”  Definiera uppgiften, lista ut vilka indata som krävs, bestämma vad resultatet ska vara.
  13. Anropa en funktion vid musklick  För varje element på

    en webbsida så kan man ange JavaScript som ska köras vid ett musklick  Typiskt anges en funktion som ska anropas  Detta görs med HTML-attributet ”onclick”
  14. Anropa en funktion vid musklick  Detta är en form

    av händelsedriven programmering (event handling)  Webbläsaren ”lyssnar” efter händelser (musklick) och reagerar genom att anropa den funktion vi angivit
  15. Event (händelser)  Event (händelser): genereras av användaren  Event

    handler (händelsehanterare): en funktion som anropas vid ett event  ”Vid händelsen musklick ska funktionen alert anropas” <button onclick="alert('Hej');"> Testa </button>
  16. Lösning DOM  Document Object Model (DOM) är en representation

    av HTML-dokumentet i JavaScript  Via DOM är det möjligt att manipulera alla egenskaper, för alla element  Med DOM kan vi (äntligen?) separera JavaScript från HTML
  17. DOM  Trädstruktur som motsvarar taggarnas ordning/nästling  Varje element

    är en ”nod” i trädet  Relationer mellan noderna beskrivs med förälder/barn och syskon
  18. Använda DOM  I JavaScript kan man alltid komma åt

    DOM via objektet ”document”  Därifrån kan vi ”navigera” genom trädet // referens till body-elementet: document.body // lista över alla element i body document.body.childNodes
  19. Att navigera i DOM  Vi antar att ”node” är

    en nod/element i DOM-trädet // Navigera mellan noder på samma nivå node.nextSibling node.previousSibling // Nedåt, barnnoder node.firstChild node.lastChild node.childNodes // alla barn // Uppåt, förälder (bara en) node.parentNode
  20. Vi kommer fokusera på två ”genvägar”  document.getElementsByTagName – ger

    oss en lista på element av en viss typ  document.getElementsByClassName – ger oss en lista på element med en viss klass  document.getElementById – ger direkt åtkomst till ett specifikt element
  21. DOM och händelser  Med hjälp av DOM kan vi

    hämta referenser till element  Har man en elementreferens kan man ändra attributet ”onclick”  … och många andra händelseattribut: http://www.w3schools.com/tags/ref_eventattributes.a sp
  22. Möjligheterna är oändliga med DOM Några saker kan vara speciellt

    bra att ha sett:  Ersätta innehåll i element  Läsa och skriva till formulärselement  Ändra CSS dynamiskt