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

Introduktion till Webbutveckling - F7

Introduktion till Webbutveckling - F7

Anton Tibblin

October 01, 2013
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; // skapa variabel name = "Bob"; // tilldela värde var age = 40; // skapa och tilldela samtidigt
  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. If-sats • En if-sats används när man vill utföra olika

    saker beroende på t.ex. en variabels värde. - Exempel ”miniräknare” & ”frågespel” • Består av ett (eller flera) test, samt vad som ska göras om ett test är sant respektive falskt. var inmatning = prompt(”Ange en siffra”); If(inmatning > 10){ alert(”Du angav ett tal större än 10!”); } else{ alert(”Du angav ett litet tal.”); }
  4. Loopar • Ett sätt att göra saker flera gånger –

    iterera över ett antal instruktioner. • Vi tittade på två olika sorters loopar. 1. While 2. For while(tal < 5){ alert(”Ännu ett varv i loopen”); tal = tal + 1; } for(var tal = 0; tal < 5; tal++){ alert(”Ännu ett varv i loopen”); }
  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. Ett första exempel på en funktion // Funktion med namnet

    showMessage, // utan inparametrar och returvärde. function showMessage() { alert("VARNING!"); } // Anrop av showMessage showMessage();
  11. 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.
  12. Exempel på parameter/argument // message är inparametern function showMessage(message) {

    alert("VARNING! " + message); } // "Ojojoj" osv är argument till funktionen. showMessage("Ojojoj");
  13. Exempel på flera parametrar/argument // två inparametrar, a och b

    function showSum(a, b) { var sum = a + b; alert("Summan är " + sum); } // Argumentens ordning avgör vilket värde som blir a resp. b showSum(5, 8); showSum(8, 5);
  14. 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
  15. function inchesToCentimeters(inches) { return iches * 2.54; } function confirmError(message)

    { var response = confirm("VARNING! " + message + "Vill du fortsätta?"); return response; }
  16. 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.
  17. 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”
  18. 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
  19. 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>
  20. 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
  21. 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
  22. 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
  23. 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
  24. Vi kommer fokusera på två ”genvägar” • document.getElementsByTagName – ger

    oss en lista på element av en viss typ • document.getElementById – ger direkt åtkomst till ett specifikt element
  25. 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.asp
  26. 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