Webbapplikationer Modul 3 - JavaScript

Relevanta dokument
Innehåll. JavaScript - Grundkurs. Vad är JavaScript? Vad är JavaScript? Vad behövs? Lite historia

DOM (Document Object Model) är modellen efter vilken en webbläsaren är uppbyggd. Alla objekt/element i webbläsaren finns hierarkiskt ordnade i DOM.

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

JAVASCRIPT. Beteende

Introduktion till PHP

Användarhandledning Version 1.2

Objektorienterad programmering Föreläsning 2

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

TDIU01 - Programmering i C++, grundkurs

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

Innehåll. PHP Grundkurs. Introduktion till PHP. Kurslitteratur. Webbserver. Lite historik. PHP Grundkurs 1

! HTML Formulär! JavaScript! Syntax! Events! DOM. ! URL variabler i en query string (get) ! HTTP post request (post)

Introduk+on +ll programmering i JavaScript

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dynamisk HTML JavaScript och webbläsarens objektmodell

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

JavaScript del 3 If, Operatorer och Confirm

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

JS & beteende. TNMK30 - Elektronisk publicering

Programmeringsteknik med C och Matlab

Visual Basic, en snabbgenomgång

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

JavaScript. DOM Scripting

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

TDIU01 - Programmering i C++, grundkurs

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Beräkningsvetenskap föreläsning 2

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

F4. programmeringsteknik och Matlab

Introduktion HTML och PHP 732G16 Databaser design och programmering

Föreläsning 2 Programmeringsteknik och C DD1316

JavaScript. En Introduktion

Programmeringteknik. Planering MÅL LABB: MOMENT LAB4 HTML - EXEMPEL HTML. Webbdelen

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Språket Python - Del 1 Grundkurs i programmering med Python

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

Klassdeklaration. Metoddeklaration. Parameteröverföring

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Exempel: Exempel: Exempel: Exempel: $djur=array("ko","katt","älg"); foreach ($djur as $d) { echo $d. " "; } Resultat. ko katt älg

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

F8 Webbteknologier 2. EDA095 Nätverksprogrammering. Roger Henriksson Datavetenskap Lunds universitet

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

SMD 134 Objektorienterad programmering

Objektorienterad programmering Föreläsning 4

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

i LabVIEW. Några programmeringstekniska grundbegrepp

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Labora&on 1 Variabler och beräkningar övningar/uppgi9er

Extramaterial till Matematik Y

JavaScript En Introduktion

Laboration 6 Formulär och stränghantering övningar/uppgifter

Variabler och konstanter

Planering Programmering grundkurs HI1024 HT 2014

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Objektorienterad Programmering (TDDC77)

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Extramaterial till Matematik Y

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Programmering för språkteknologer I, VT2012. Rum

PHP. Dynamiska webbsidor

Lektion 5, del 1, kapitel 12

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Logik och kontrollstrukturer

Föreläsning 2. Operativsystem och programmering

Avancerade Webbteknologier

Programmering A. Johan Eliasson

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

DD1314 Programmeringsteknik

Övningar i JavaScript del 3

Översikt över Visual Basic

Objektorienterad programmering i Java

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

v. 42 Python HT17 En introduktion Oscar Bergqvist

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Tentamen Grundläggande programmering

Backcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet

Karlstads Universitet, Datavetenskap 1

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

JavaScript del 2 DocumentWrite, Prompt och ParseInt

Inledande programmering med C# (1DV402) Summera med while"-satsen

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Övning2. Variabler. Data typer

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4

Föreläsning 1 & 2 INTRODUKTION

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

JavaScript del 5 Funktioner

Transkript:

Webbapplikationer Modul 3 - JavaScript Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Innehåll Vad är JavaScript? Villkorssatser Grundregler If-satser Kommentarer i JavaScript Escape-tecken DOM Loopar (Iterationer) Händelser (Events) While-satser getelementbyid() For-satser This Nästlade satser Satser (statements) Funktioner Datatyper Externa JavaScript filer Variabler Math Operatorer Date BOM String Array 2 JavaScript 1

Programmeringsspråk 1. Kompilerande språk Ett kompilerande språk är ett programmeringsspråk där källkoden med hjälp en kompilator översätts till maskinkod. Exempel: C, C#, C++, Java 2. Interpreterande språk (Skriptspråk) Ett interpreterande språk är ett programmeringsspråk som tolkas (interpreteras) vid körning. Exempel: JavaScript, ASP, PHP. 3 Vad är JavaScript? JavaScript är ett skriptspråk. Koden kan köras direkt i en webbläsare. Ingen kompilator behövs. En fördel med JavaScript är att all aktivitet sker på klientsidan (besökarens webbläsare) till skillnad från många andra skriptspråk som körs på serversidan t.ex. ASP och PHP. JavaScript är lätt att använda och enkelt att lära sig. 4 JavaScript 2

Lite historia JavaScript såg dagens ljus i samband med att Netscape släppte sin webbläsare Netscape Navigator 2 som stödde skriptspråket Live script. Live script utvecklades av Brendan Eich, anställd vid Netscape. Det var i december 1995 som Netscape efter ett samarbete med Sun (som utvecklade Java) för första gången kom att kalla skriptspråket för JavaScript. Kort efteråt kom Microsoft med sin variant som kallades JScript. 5 Hur tolkar webbläsaren JavaScriptkod? För att webbläsaren ska veta om att det är JavaScript-kod som gäller anger man detta med hjälp av HTML-taggen <script>. <script> Här skrivs JavaScript-kod! 6 JavaScript 3

Attributet type Förutom JavaScript finns det andra skriptspråk eller olika JavaScript-dialekter som används. Därför ska man ta till vana att tala om för webbläsaren vilket skriptspråk som gäller. Detta anges med hjälp av attributet type Här skrivs JavaScript-kod. 7 JavaScript i <head> <html> <head> <title>javascript i head</title> Här skriver du JavaScript-kod Funktioner brukar placeras här! </head> <body> </body> </html> 8 JavaScript 4

JavaScript i <body> <html> <head> <title> JavaScript i body</title> </head> <body> Här skriver du JavaScript-kod </body> </html> 9 Ett första JavaScript exempel Varningsruta (alert) alert() är en JavaScript-metod som visar en varningsruta (poppar upp på skärmen). Besökaren måste klicka på "OK"-knappen på för att fortsätta. Typiskt användningsområde är om du vill försäkra dig att information kommit fram till besökaren. 10 JavaScript 5

alert() - Exempel <html> <head> <title>varningsruta</title> </head> <body> alert("välkommen till JavaScript"); </body> </html> 11 OBS! JavaScript är Case Sensitive JavaScript är Case Sensitive (skiftlägeskänslig) d.v.s. språket är känslig för stora och små bokstäver! Exempel: Alert, alert och ALERT är tre olika ord! 12 JavaScript 6

Viktiga grundregler 1. JavaScript kod skall läggas in mellan taggen <script> 2. JavaScript är skiftlägeskänsligt. 3. JavaScript-satser avslutas med ett semikolon ; 4. Lägg alltid in texter inom citationstecken " " eller apostrofer ' ' 13 JavaScript kommentarer Två snedstreck // i början av varje rad lägger till en kommentar // Detta är en kommentar i JavaScript /* */ används för att infoga kommentarer som sträcker sig över en eller flera rader /* */ Detta är kommentera över en eller flera rader 14 JavaScript 7

DOM DOM står för Document Object Model DOM gör så att alla taggar i ett HTML-dokument kan behandlas som fristående objekt. DOM lägger in dokument i en väldefinierad trädstruktur. Trädet har ett rotelement och alla objekt i modellen kallas för noder. De vanligaste nodtyperna är: Document, Element, Attribut och Text. Noderna är relaterade till varandra som en familj. En nod kan ha en förälder, syskon och barn! 15 DOM trädstruktur <html> <head> <title>dokument</title> </head > <body> <h1>en rubrik</h1> <p>ett stycke</p> </body > BODY HTML HEAD </html> H1 P TITLE En Rubrik Ett Stycke Dokument 16 JavaScript 8

DOM trädstruktur Källa: http://www.w3schools.com/js/js_htmldom.asp 17 JavaScript är ett objektorienterat programmeringsspråk! Det finns inbyggda objekt i JavaScript t.ex. window och document Objekten har olika egenskaper beroende på vad det är för typ av objekt. Ex. Objektet document innehåller all information om den inladdade webbsidan. Objekten har även metoder som utför något på själva objektet. Ex. metoden write() i objektet document skriver text i HTML-dokumentet. Exempel document.write("hej JavaScript!"); 18 JavaScript 9

HTML i JavaScript Exemplet visar hur man använder JavaScript för att skriva HTML-taggar i en JavaScript-kod <html> <body> document.write("<h1>en rubrik</h1>"); document.write("<p>ett stycke</p>"); document.write("lite text för att testa radbrytning"); document.write("<br>"); document.write("mer text "); </body> </html> 19 Objektet document Varje HTML-dokument som laddas ner till webbläsaren blir ett document-objekt. Exempel på vanliga egenskaper är: title, URL och lastmodified. Exempel på vanliga metoder är: write() och getelementbyid() Tips: http://www.w3schools.com/jsref/dom_obj_document.asp 20 JavaScript 10

Objektet document - Exempel // Skriv dokumentets titel i kroppen document.write(document.title); //En radbrytning document.write("<br>"); // Skriv dokumentets webbadress document.write(document.url); document.write("<br>"); // Skriv dokumentets senast ändrat datum document.write(document.lastmodified); 21 Händelser (Events) Med JavaScript kan du få webbläsare att reagera på vissa händelser. Du kan göra webbsidor mer dynamiska genom att de förändras på något sätt beroende på vad användaren gör t.ex. fyller i ett textfält, trycker på en knapp eller helt enkelt när hemsidan laddas och visas i en webbläsare. Exempel Muspekaren förs över en bild och då byts den ut till en annan bild (roligt va ) 22 JavaScript 11

Några vanliga händelser onload: När webbsidan är färdigladdad. onunload: När man lämnar webbsidan. onclick: När man klickar på ett objekt. onmouseover: När muspekaren rör sig över ett objekt (t.ex. en bild eller en länk). onmouseout: När muspekaren rör sig ifrån ett objekt http://www.w3schools.com/jsref/dom_obj_event.asp 23 Exempel på onload <html> <head> <title>onload</title> </head> <body onload="alert('hej');" > </body> </html> 24 JavaScript 12

Exempel på OnClick <html> <head> <title>onclick</title> </head> <body> <button type="button" onclick="alert('hej');"> Klicka här! </button> </body> </html> 25 onclick - Exempel 2 <input type="radio" name="color" onclick="document.body.bgcolor='red'" /> Ändra bakgrund till röd <br /> <input type="radio" name="color" onclick="document.body.bgcolor='white'"> Ändra bakgrund till vit 26 JavaScript 13

Exempel på OnMouseOver <html> <head> <title>ommouseover</title> </head> <body> <img src="dator.gif" onmousemover= "alert('detta är en dator!');" /> </body> </html> 27 getelementbyid() Med hjälp av metoden getelementbyid() kan du komma åt html-objekt via deras id (attributet id) Du kan även ändra objektens egenskaper och innehåll. 28 JavaScript 14

getelementbyid() Exempel 1 <html> <head> <title>getelementbyid</title> </head> <body> Hem Hem <img id="bild" src="startsida1.png" onmouseover= "document.getelementbyid('bild').src='startsida2.png'" onmouseout= "document.getelementbyid('bild').src='startsida1.png'" /> </body> </html> 29 this this betyder detta objekt och används för att ändra egenskapar för det aktuella objektet: Detta exempel ändrar bildens storlek vid överrullning (när man pekar på bilden) <img src="dator.gif" onmouseover="this.width='300'; this.height='200';" onmouseout="this.width='200'; this.height='100';" /> 30 JavaScript 15

this Exempel 2 <body> <img src="startsida1.png onmouseover="this.src='startsida2.png'" Onmouseout ="this.src='startsida1.png'" /> </body> 31 Vad är en sats i JavaScript? En sats (statement) är ett utryck som följer de skrivregler (syntax) som finns för språket. En sats i JavaScript avslutas med ett semikolon ; Semikolonet talar om för tolken att satsen är slut och att en ny börjar. Ex. på en sats alert("hej JavaScript!"); 32 JavaScript 16

Datatyper En datatyp är ett attribut för data som berättar för datorn (och programmeraren) vilken typ datat tillhör. Olika datatyper har olika användningsområden. 33 Datatyper i JavaScript Object: Objekt med tillhörande egenskaper och metoder. String: Text som skrivs innanför citationstecken. Kallas sträng. Number: Ett positivt eller negativt heltal eller ett flyttal (decimaltal). Boolean: kan anta värden true (sant) och false (falskt) Null: betyder saknar värde. Undefined: betyder ej definierad. 34 JavaScript 17

Datatypen number Positivt heltal: 0,1, 23, 456 Negativt heltal: -1, -256 Flyttal: (decimaltal) 0.5, 4.65 Obs! Flyttal använder inte kommatecken utan en punkt. Tal som skrivs innanför citationstecken tolkas som text. 35 Datatypen number - Exempel document.write(2); document.write("<br>"); document.write(2+2); document.write("<br>"); document.write(2+"2"); document.write("<br>"); document.write(2+2+"2"); document.write("<br>"); document.write(2+"2"+2); document.write("<br>"); OBS! Number som skrivs innanför citationstecken behandlas som String 36 JavaScript 18

Datatypen boolean Boolesk algebra uppfanns av den engelske matematikern George Boole i början av 1800-talet. I Boolesk algebra utgår man från värdena true (sant) och false (falskt)! 37 Boolean - Exempel document.write(2>1); document.write("<br>"); document.write(1>2); document.write("<br>"); 38 JavaScript 19

Variabler En variabel är en platshållare för ett värde som ändras under programmets gång. Variabelnamn måste börja med en bokstav eller understreck. Exempel var namn; var x; En variabel deklareras med nyckelordet var namn och x är variabelnamnet 39 Nyckelord i JavaScript I JavaScript finns det ett antal reserverade ord (nyckelord), som inte får användas för t.ex. variabelnamn. Exempel på reserverade ord i JavaScript var, this, false, true, function, return, public, import, switch Här finns en lista över alla nyckelord http://www.w3schools.com/js/js_reserved.asp 40 JavaScript 20

Deklarera och tilldela variabler Variabler i JavaScript deklareras med nyckelordet var En variabel tilldelas ett värde med tecknet "lika med" = var fornamn; fornamn = "Mahmud"; var efternamn = "Al Hakim"; Deklarera och tilldela på en och samma rad 41 Variabler Exempel 1 var fornamn = "Mahmud"; var efternamn = "Al Hakim"; var namn = fornamn+" "+efternamn; document.write(namn); 42 JavaScript 21

Variabler Exempel 2 var x = 123; var y = 321; document.write("x="); document.write(x); document.write("<br>"); document.write("y="); document.write(y); document.write("<br>"); document.write("x+y="); document.write(x+y); 43 null och Undefined - Exempel var saknar_value = null; var ej_definierad; document.write(saknar_value); document.write("<br>"); document.write(ej_definierad); document.write("<br>") 44 JavaScript 22

Inmatningsfält (prompt-fönster) var namn=prompt("vad heter du?"); document.write("hej " + namn); 45 Vad är en Operator? En Operator binder samman två uttryck eller delar av uttryck. De delar som operatorn opererar eller verkar på kallas operander. Exempel Operand Operand var x = 5; Operator 46 JavaScript 23

Aritmetiska (matematiska) operatorer Operator Benämning + Plus - Minus * Multiplikation / Division % Modulus (restoperator) 47 Aritmetiska operatorer - Exempel var a=5; var b=2; var c=a+b; document.write(c); Testa följande c = a-b; c = a*b; c = a/b; c = a%b; 48 JavaScript 24

Jämförelseoperatorer Operator Benämning < mindre än > större än <= mindre än eller lika med >= större än eller lika med == lika med!= ej lika med 49 Jämförelseoperatorer - Exempel var a=5; var b=2; document.write(a<b,"<br>"); document.write(a>b,"<br>"); document.write(a>=b,"<br>"); document.write(a<=b,"<br>"); document.write(a==b,"<br>"); document.write(a!=b,"<br>"); // Tilldela a och b nya värden // och testkör på nytt. 50 JavaScript 25

Logiska operatorer Operator Benämning! NOT (inte) && AND (och) OR (eller) 51 Ensidiga operatorer Ökningsoperatorn ++ Addera ett med hjälp av operatorn ++ var a=1; a++; document.write(a); Minskningsoperatorn Minska ett med hjälp av operatorn var b=1; b--; document.write(b); 52 JavaScript 26

BOM (Browser Object Model) Med hjälp BOM kan JavaScript prata med webbläsaren. Exempel på några BOM-objekt Window: presenterar webbläsarfönstret. Screen: Innehåller information om användarens datorskärm. 53 BOM Window exempel <body> <p id="demo"></p> <script> var w = window.innerwidth; var h = window.innerheight; var x = document.getelementbyid("demo"); x.innerhtml = "Bredd: " + w + "<br>"; x.innerhtml += "Höjd: + h; </body> 54 JavaScript 27

BOM Screen exempel <body> <p id="screen">skärmupplösning: </p> <script> document.getelementbyid("screen").innerhtml += screen.width + " x " + screen.height; </body> 55 Villkorstaser Villkor är mycket viktiga och finns i nästan alla program. I svenska språket använder vi oss ständigt av villkorssatser. Vi kan t.ex. säga: OM det är kallt SÅ måste du ta på dig varma kläder 56 JavaScript 28

If-satser if (villkor) { En eller flera satser } 57 IF Exempel var age; age = prompt("ange din ålder"); if (age < 18) { alert("du får inte köpa cigaretter"); } 58 JavaScript 29

IF Exempel 2 var ok = confirm("vill du lära dig mer?"); if (ok == true) { alert("kunskap ger färdighet!"); } 59 If-else Satser Villkor kan vara antingen sanna eller falska. Med en else-del kan man komplettera denna information och ange vad som skall ske om villkoret är falskt. 60 JavaScript 30

If-else - Exempel var age; age = prompt("ange din ålder"); if (age < 18) { alert("du får inte handla här"); } else { alert("välkommen"); } 61 Escape-tecken Escape-tecken kallas ibland för skiftningstecken och i vissa sammanhang för jokertecken. De ser olika ut och används lite olika, beroende på vad det är man vill göra. Några användbara escape-tecken: \" Visar dubbelt citationstecken \' Visar enkelt citationstecken \t Infogar en Tab (tabulator) \n Skapar en radbrytning \\ Visar tecknet backslash 62 JavaScript 31

Escape-tecken - Exempel alert("välkommen till \"JavaScript\" "); alert("välkommen till \'JavaScript\' "); alert("ett meddelande \n på två rader"); alert("rad 1 \t Tabavstånd \nrad 2 \t Tabavstånd"); alert("detta är Backslash \\ "); 63 Loopar Loopar kallas ibland för upprepningar eller iterationer. Det finns tre olika sätt att bilda loopar i JavaScript: 1. While Satser 2. Do-while Satser 3. For Satser 64 JavaScript 32

While-satser En while-sats använder sig av villkoret while. Villkoret aktiveras inte alltid, utan bara om förutsättningarna är de rätta. Syntaxen ser ut så här: while (villkor) { en eller flera satser } 65 While - Exempel Skriv ut siffrorna 1-9 var a = 1; while (a < 10) { document.write(a); a++; } 66 JavaScript 33

Do-while Satser En variant av while-satserna är de som dessutom innehåller kommandot "do". En do-while sats prövar villkoret efter upprepningen, medan en while-sats prövar villkoret före. 67 Do-While - Exempel Skriv siffrorna 1-9 var a = 1; do { document.write(a); a++; } while (a < 10) 68 JavaScript 34

Skapa en tabell i JavaScript Tabeller används oftast för att presentera information på ett bättre/finare sätt. document.write("<table border='1'>"); var a = 1; while (a <= 10) { } document.write("<tr><td>"); document.write("test"); document.write("</td></tr>"); a++; document.write("</table>"); 69 For-satser Kommandot for innebär att man talar om hur många gånger en upprepning skall ske. Syntaxen ser ut så här: for (startvärde; villkor; uppdateringsvärde) { en eller flera satser } Startvärdet är det värde variabeln har från början. Villkoret kan vara sant eller falskt och upprepas tills dess att det inte längre är sant. Uppdateringsvärdet anger hur variabeln skall förändras medan upprepningen sker. 70 JavaScript 35

For - Exempel for (a = 0; a < 10; a++) { document.write(a); } 71 Nästlade satser - Exempel 1 for (x = 1; x <= 10; x++) { for (y = 1; y <= 10; y++){ document.write(y,"x",x,"=",y*x,"<br>"); } document.write("<br>"); } 72 JavaScript 36

Nästlade satser Exempel 2 var x=1; while (x <= 10){ for (y = 1; y <= 10; y++){ document.write(y,"x",x,"=",y*x,"<br>"); } document.write("<br>"); x++; } 73 Funktioner Funktioner är ett bra sätt att ordna kod i olika separata block eller moduler som associeras med ett namn. En funktion definieras av en samling satser och vad de skall göra. function namn(parametrar) { satser return(returvärde) } 74 JavaScript 37

Funktioner Exempel 1 <html> <head> <title>javascript - funktioner</title> function hej(){ } alert("welcome to JavaScript"); </head> <body> hej(); </body> </html> En JavaScript funktion i <head> Funktionsanrop 75 Funktioner Exempel 2 <html> <head> <title>javascript - funktioner</title> function hej(){ } alert("welcome to JavaScript"); </head> <body> <img src="bild.jpg" onclick="hej();" > </body> </html> En JavaScript funktion i <head> En händelsestyrd funktion 76 JavaScript 38

Externa JavaScript filer Externa skriptfiler kan användas av flera webbsidor. JavaScript-kod sparas i filer med filnamnstillägget.js (t.ex. filnamn.js) Script-taggen med attributet src infogar skriptet i HTML-dokumentet: <script type="text/javascript" src="filnamn.js"> 77 Parametrar För att dra nytta av funktioner på ett bättre sätt behöver vi ange ett eller flera parametrar som är data de jobbar med. 78 JavaScript 39

Parametrar Exempel <html> <head> <title>javascript - Parametrar</title> function hej(msg){ } alert(msg); </head> <body> hej('hej JavaScript'); </body> </html> En parameter 79 Returvärde Att returnera något i en funktion betyder att man ber funktioner bearbeta data och skicka tillbaka resultatet. Data Data Data Returvärde 80 JavaScript 40

Returvärden - Exempel <html> <head> <title>javascript - funktioner</title> function KvadratArea(kant){ return(kant*kant); } </head> <body> document.write(kvadratarea(5)); </body> </html> 81 Globala funktioner JavaScript har s.kl. inbyggda Globala Funktioner som kan användas med alla JavaScript objekt. Ex: Number() Omvandlar ett objekts värde till ett tal String() Omvandlar ett objekts värde till en sträng Tips: http://www.w3schools.com/jsref/jsref_obj_global.asp 82 JavaScript 41

Number() var text= "123"; var tal=123; var add = text+tal; document.write(add); document.write("<br />"); /*Omvandla text till tal med hjälp av den globala funktionen Number() */ var add = Number(text)+tal; document.write(add); 83 Globala vs lokala variabler Variabler som definieras utanför funktioner, kallas globala. Detta innebär att variabelns värde är bestämt i det dokument eller det fönster webbläsarna visar. En lokal variabel är en som har definierats inne i en funktion. 84 JavaScript 42

Ex. Lokala Variabler <head> function lokal() { var a = "En lokal variabel "; document.write(a); } </head> <body> lokal(); </body> 85 Ex. Globala Variabler <head> function global() { document.write(a); } </head> <body> var a = "En global variabel "; global(); </body> 86 JavaScript 43

Ex. Global eller Lokal? <head> function global_eller_lokal(){ var a = "En Lokal variabel "; document.write(a); } </head> <body> var a = "En global variabel "; global_eller_lokal(); </body> 87 Math Objektet Math innehåller såväl egenskaper som metoder, vilka motsvarar ett stort antal matematiska funktioner och konstanter. En lista på alla egenskaper och metoder finns här http://www.w3schools.com/jsref/jsref_obj_math.asp 88 JavaScript 44

Math Egenskaper Exempel document.write("pi = "); document.write(math.pi); // Returnerar talet Pi (3,14) document.write("<br>"); document.write(math. SQRT2); // Returnerar roten ur 2 (1.414) 89 Math Metoder Exempel document.write("roten ur 16 är: "); document.write(math.sqrt(16)); document.write("<br>"); document.write(math.max(5,10) ); // Returnerar maxvärdet document.write("<br>"); document.write(math.min(5,10) ); // Returnerar minvärdet 90 JavaScript 45

Stränghantering Med hjälp av objektet String kan du manipulera och hantera text i JavaScript Du kan t.ex. beräkna antal tecken i en sträng, omvandla text till gemener eller versaler. Objektet kan även ändra teckenstorlek, färg och format. Läs mer: http://www.w3schools.com/jsref/jsref_obj_string.asp 91 Antal tecken var text = "Hej JavaScript!"; document.write(text); document.write("<br />"); document.write("antal tecken: "); document.write(text.length); 92 JavaScript 46

Konvertera till versaler var text = "Hej JavaScript!"; document.write(text.touppercase()); 93 Konvertera till gemener var text = "Hej JavaScript!"; document.write(text.tolowercase()); 94 JavaScript 47

Date Objektet Date används för att beräkna och visa datum och tid. Obs! objektet utgår från datorns klocka. 95 Visa datorns klocka var klockan = new Date(); alert("klockan är " + klockan.gethours() + ":" + klockan.getminutes() + ":" + klockan.getseconds()); 96 JavaScript 48

Visa dagens datum Metoden getdate() visar dagens datum med en siffra från 1 till 31 var datum = new Date(); alert(datum.getdate()); 97 Visa årtal Metoden getfullyear() visar årtalet med fyra siffror. var datum = new Date(); alert(datum.getfullyear()); OBS! Metoden "getyear()" visar antal år från 1900 och framåt (bör undvikas). 98 JavaScript 49

Visa dag Metoden getday() visar den aktuella dagen med en siffra från 0 till 6 0 = Söndag, 1 = Måndag o.sv. var datum = new Date(); alert(datum.getday()); 99 Visa månad Metoden getmonth() visar den aktuella månaden med en siffra från 0 till11 0 = Januari, 1 = Februari o.sv. var datum = new Date(); alert(datum.getmonth()); 100 JavaScript 50

Arrayer (Fält, Matris) I JavaScript använder man arrayer för att lagra flera olika värden i en och samma variabel. Fördelen med detta är t.ex. att man slipper ha en massa olika variabler i sina skript. Ex. Om du vill lagra alla veckodagar i en och samma variabel så kan du använda en array. I annat fall behöver du skapa sju olika variabler. Arrayer kan således vara till stor hjälp för den som programmerar. 101 Skapa en Array Exemplet nedan skapar en Array som heter "veckodagar". Arrayen har plats för att lagra 7 olika värden. var veckodagar = new Array(7); 0 1 2 3 4 5 6 Arrayens värden kallas element. 102 JavaScript 51

Lagra data i en array var veckodagar = new Array(7); veckodagar[0] = "Söndag"; veckodagar[1] = "Måndag"; veckodagar[2] = "Tisdag"; veckodagar[3] = "Onsdag"; veckodagar[4] = "Torsdag"; veckodagar[5] = "Fredag"; veckodagar[6] = "Lördag"; 0 Söndag 1 Måndag 2 Tisdag 3 Onsdag 4 Torsdag 5 Fredag 6 Lördag 103 Visa innehållet i enstaka positioner // Visa innehållet i den första positionen document.write(veckodagar[0]); document.write("<br>"); // Visa innehållet i den fjärde positionen document.write(veckodagar[3]); 104 JavaScript 52

Visa innehållet i en array Du kan använda en loop (t.ex. for) för att gå igenom alla element i en array for (index=0; index <= 6; index++) { document.write(veckodagar[index]); } 105 Längden på en array Egenskapen length används för att undersöka längden på en array. document.write("längden på denna array är: "); document.write(veckodagar.length); 106 JavaScript 53

Övningar del 1 Skapa ett program i JavaScript som ber användaren mata in ett tal (1-10) och därefter visar talets multiplikationstabell. 107 Övningar del 2 1. Skapa ett program i JavaScript som läser in två godtyckliga tal via inmatningsfält (prompt). Visa produkten av dessa tal i en alert-ruta (multiplicera dessa tal och visa resultatet). 2. Skapa ett JavaScript som uttrycker följande: Om besökaren klickar på Ok i en confirm-ruta så skall en ny confirm-ruta dyka upp med meddelandet "Du har klickat på Ok!" 3. Skapa ett script med en confirm-ruta. Klickar man på "Ok" skall en alert-ruta öppnas med texten "Ja". Klickar man på "Avbryt" skall en annan alert-ruta öppnas med texten "Nej". 108 JavaScript 54

Övningar del 3 1. Skapa ett program i JavaScript som beräknar cylinders volym och yta. Skapa två separata funktioner. Tips: http://sv.wikipedia.org/wiki/cylinder 2. Skapa ett skript som visar dagens datum i följande format: dag den datum månad år t.ex. onsdag den 18 februari 2015 Använd två fält för att spara veckodagar och månader! 109 JavaScript 55