JavaScript. En Introduktion

Relevanta dokument
JavaScript En Introduktion

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

JAVASCRIPT. Beteende

JavaScript. DOM Scripting

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

Introduk+on +ll programmering i JavaScript

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

JS & beteende. TNMK30 - Elektronisk publicering

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

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

Användarhandledning Version 1.2

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

F4. programmeringsteknik och Matlab

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

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

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

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

Lektion 2 Del 1 Kapitel 6

Avancerade Webbteknologier

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

OOP Objekt-orienterad programmering

E12 "Evil is going on"

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Dynamisk HTML JavaScript och webbläsarens objektmodell

Lektion 3 HTML, CSS och JavaScript

Karlstads Universitet, Datavetenskap 1

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

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

E11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I

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

OOP Objekt-orienterad programmering

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

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

Imperativ programmering. Föreläsning 2

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

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling

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

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

Föreläsning 3: Booleans, if, switch

Klassdeklaration. Metoddeklaration. Parameteröverföring

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

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?

Introduktion HTML och PHP 732G16 Databaser design och programmering

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

JavaScript. JavaScript Ramverk (Bibliotek) jquery + jquery UI

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

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

Föreläsning 3-4 Innehåll

E12 "Evil is going on"

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

Att skriva till och läsa från terminalfönstret

OOP Objekt-orienterad programmering

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

JAVAUTVECKLING LEKTION 4

JavaScript del 3 If, Operatorer och Confirm

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

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

E13 Behind the Wild. Dagens agenda. Cookies Context/ändra context Augmentation (förstärkning) Klassiskt arv Att låna metoder Namespaces Postludium

E03 "Day 3: 2:00 p.m 3:00 p.m"

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Planering av ett större program, del 2 - for och listor. Linda Mannila

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Planering Programmering grundkurs HI1024 HT TIDAA

Spelprogrammering med JavaScript och HTML5

Tentamen OOP

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Lektion 5, del 1, kapitel 12

En grundkurs i hemsidor och hur de är uppbyggda

729G28. Webbprogrammering och databaser. Introduktion till webbutveckling med PHP. Jakob Pogulis Institutionen för Datavetenskap (IDA)

Lektion 2 - CSS. CSS - Fortsätt så här

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

E13 "Behind the Wild"

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

OOP Objekt-orienterad programmering

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

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

Labora&on 8 Formulär övningar/uppgi6er

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

INTRODUKTION TILL ANGULAR JS

Tillämpad Programmering. Ekonomi + Spel + Javascript

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

Föreläsning 14. Filhantering

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

Carl-Oscar Hermansson WEBB DESIGN

Introduktion till användning av linux-servern sledge och några övningsuppgifter

TENTAMEN OOP

Webbservrar, severskript & webbproduktion

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Loopar och objekt i JavaScript

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

TDDC77 Objektorienterad Programmering

Lektion 5 HTML, CSS, PHP och MySQL

Planering Programmering grundkurs HI1024 HT data

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Transkript:

JavaScript En Introduktion

Innehåll Introduktion till JavaScript Händelsehantering och CSS Felhantering i JavaScript Validering i JavaScript

Introduktion Ingen koppling till Java Statiska och dynamiska webbsidor (HTML, XHTML PHP, ASP, ASP.NET) Förr DHTML, nudom Scripting JavaScript kan utgöra en säkerhetsrisk Microsoft stöder JavaScript för att skapa Windows 8-appar

Fördelar med Javascript Plattformsoberoende Minskad datatrafik Snabbare feedback Utökad interaktiv funktionalitet

Viktiga aspekter Det ska vara lätt att underhålla och återanvända kod <script type= text/javascript src= scripts.js /> <script type= text/javascript src= morescript.js /> Sidan ska fungera i olika webbläsare Objektdetektering Webbläsarberoende Läsare som saknar stöd för JavaScript Webbsidan ska fungera bra även för de webbklienter som ej stödjer JavaScript

Var ska skriptet vara? Ett HTML-dokument kan innehålla ett obegränsat antal skript Skript kan skrivas i <body> eller <head> och / eller i båda Vanligtvis skrivs alla skript på ett ställe <head> När en extern fil länkas in När inline skript används <body> När inline skript används Kan se till att allt som används har laddats först <body onload= kod();" > <window onload= kod();" > Fungerar inte alltid om man bläddrar framåt eller bakåt

Script i HTML-koden Med JavaScript kan ni skriva direkt i HTML-koden. Om ni vill skriva olika saker vid olika tillfällen <body> <script> if (heading) { document.write("<h1>överskrift</h1>"); } else { document.write("<p>paragraf</p>"); } </script> </body>

Regler för JavaScript Ett kommando avslutas med semikolon ; Ett block i Javascript börjar med { och slutar med } Javascript är Case sensitive Det är skillnad på Ulrik och ulrik Det går att göra radbrytning i koden utan att den ändrar funktion med \ var ulrik = En lärare ; var ulrik = En \ lärare

Gör innehållet interaktivt Innehållet på en HTML-sida kan förändras vid musklick eller andra händelser Sidan kan bli dynamisk och interaktiv <head> <script> function displaydate() { document.getelementbyid( datum").innerhtml=date(); } </script> </head> <body> <p id= datum"> Här kommer datumet att visas. </p> <button type="button" onclick="displaydate()">visa datum</button> </body>

Kommentarer Precis som med all slags programmering är kommentering viktig Glöms ofta bort //Kommentar på enkel rad Var x=5; // En variabel med namnet x och värdet 5 /* Kommentarer som spänner över flera rader */

Prompt och alert <script type="text/javascript"> // Öppnar en prompt som användaren kan skriva i var mittnamn = prompt("skriv ditt namn: ", ""); // If-sats som kontrollerar om namnet är Stefan if (mittnamn == "Stefan") { //Öppnar ett pop-up-fönster alert("hej på mej!"); else { alert("hej på dej!"); </script>

Funktioner och objekt Allt i JavaScript är objekt Objekt har: Egenskaper (properties) objekt.namn, objekt.storlek,. De kan ändras och hämtas Metoder (methods) objekt.start(), objekt.addera()

Objekthierarki

Funktioner Funktionen kan finnas i både <head> och <body> och användas på båda ställen Precis som alla andra skript <head> <script> function enfunktion { alert("jag heter Stefan Berglund och jobbar som lärare); } </script> </head> Funktionen anropas med sitt namn (enfunktion)

Argument Funktioner kan ha argument Ett argument är en variabel som skickas med när funktionen anropas <head> <script> function myfunction(name,job){ alert("jag heter " + name + " och jobbar som " + job);} </script> </head> <body> <p>starta en funktion med argument</p> <button onclick="myfunction('stefan Berglund','lärare')">Klicka</button> </body>

Datatyper och operatorer De tre vanligaste datatyperna: String, Number, Boolean OBS! Null och Undefined Operatorer: +, -, *, /, %, ++ och Datatyperna är dynamiska var x // x är inte definierad x = 34; // x är ett nummer x = Ulrik"; // x är en sträng

Konvertering av datatyper var minvariabel = 1 + 2 ; var minvariabel = 1 + Number( 2 ) var minvariabel = 1+2; minvariabel = 1 + 2 Number() parsefloat() parseint()

Dataobjekt var strsträng = new String(); var dateidag = new Date(); alert( Året är: + dateidag.getfullyear()); alert( PI har värdet: + Math.PI); alert( PI avrundat: + Math.round(Math.PI));

Arrayer var strarray = new Array( Ett, Två, Tre ); var strarray2 = new Array(3); var strarray3 = new Array(); var strarray4 = new Array(1, Två, 3.45); strarray[0] = Ett ; strarray[1] = Två ; alert( Värdet i andraposition: + strarray[1

Villkor (If-satser) Operatorer: ==,!=, >, >=, < och <= Logiska operatorer: &&, och! if ( ett villkor ett annat villkor){ // händelse om villkoret uppfyllt else { // händelse om villkoret ej uppfyllt

Break Break() kan användas för att hoppa ut ur en loop Break() bryter loopen och fortsätter exekvera koden efter loopen (om sådan finns) <script> function myfunction() {var x="",i=0; for (i=0;i<10;i++) { if (i==3) { break; } x=x + Nummer: " + i + "<br>"; document.getelementbyid("demo").innerhtml=x; </script>

Continue Continue() kan användas för att hoppa över ett steg i en loop <script> function myfunction() {var x="",i=0; for (i=0;i<10;i++) { if (i==3) { continue; } x=x + Nummer: " + i + "<br>"; document.getelementbyid("demo").innerhtml=x; </script>

Switch switch ( intnummer ) { case 1: // kod om case = 1 break; case 2: // kod case = 2 break; default: // kod om ej något av tidigare case uppfyllts

Loopar (For, While) for (initialt värde; loopvilkor; händelse){ // kod som upprepas while ( loopvillkor ){ // kod som upprepas

Händelsehantering Exempel på händelser (events): En webbsida laddas En bild laddas En knapptryckning på musen Tryck på en tangent Kan vara en särskild tangent När musen rör sig över något (hoover)

Händelsehantering och Css Definiera ej utseendet i din JavaScript-kod! var n=document.getelementbyid( nav ); n.classname = dynamic

Struktur, utseende och beteende <p>här har vi lite text</p> p{ color: red; var paragraf = document.getelementsbytagname( p ); for (var i=0; i<paragraf.length; i++){ paragraf[i].onclick = function(){ alert( Du klickade på paragraf + (i+1));

Händelsehantering och Css Inlinestilmallar: alert( p-taggens färg: + paragraf.style.color); paragraf.style.color = blue ;

Händelsehantering och Css Vanliga stilmallar:.nystil{ font-size: 1.5em; var meny = document.getelementbyid( meny ); meny.classname = nystil ; Alternativt: meny.setattribute( class, nystil );

Felhantering Med try kan du definiera ett kodblock som ska testas för fel medan det körs Med catch() kan du definiera ett block av kod som skall exekveras om ett fel uppstår i try-blocket. Try och catch() används tillsammans try { //Kör kod här } catch(err) { //Om det blir fel hanteras det med den här koden }

Skapa ett felmeddelande Med throw kan du beskriva vad som gått fel catch(err) kan då beskriva vad som hänt <body> <script> function myfunction() { try { var x=document.getelementbyid("demo").value; if(x=="") throw "tomt"; if(isnan(x)) throw "inte ett nummer"; if(x>50) throw "för högt"; if(x<10) throw "för lågt"; catch(err) { var y=document.getelementbyid("mess"); y.innerhtml="det du skrev är " + err + "."; </script> <p>slå in ett nummer mellan 10 och 50:</p> <input id="demo" type="text"> <button type="button" onclick="myfunction()">testa</button> <p id="mess"></p> </body>

Validering med JavaScript Används väldigt ofta Kolla om texten är ifylld på ett korrekt sätt innan den skickas <script> function validateform() { var x=document.forms["myform"]["email"].value; var atpos=x.indexof("@"); var dotpos=x.lastindexof("."); if (atpos<1 dotpos<atpos+2 dotpos+2>=x.length) { alert( Det är inte en korrekt email-adress"); return false; </script>