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.

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

Introduk+on +ll programmering i JavaScript

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

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

F4. programmeringsteknik och Matlab

Användarhandledning Version 1.2

E12 "Evil is going on"

JS & beteende. TNMK30 - Elektronisk publicering

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

Avancerade Webbteknologier

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

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

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

OOP Objekt-orienterad programmering

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

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

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?

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

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

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

E12 "Evil is going on"

JavaScript del 3 If, Operatorer och Confirm

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

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

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

Karlstads Universitet, Datavetenskap 1

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

Imperativ programmering. Föreläsning 2

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

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

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

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.

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

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

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

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

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

Lektion 3 HTML, CSS och JavaScript

Föreläsning 3-4 Innehåll

Lektion 2 Del 1 Kapitel 6

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

INTRODUKTION TILL ANGULAR JS

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

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

JavaScript. JavaScript Ramverk (Bibliotek) jquery + jquery UI

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

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

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

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

Tentamen OOP

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

JAVAUTVECKLING LEKTION 4

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

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

Labora&on 8 Formulär övningar/uppgi6er

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

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

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

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

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

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

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

Lektion 5, del 1, kapitel 12

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Det finns många flaggor till g++,

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

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.

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

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

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

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Projektuppgift: Kalender Martin Hultman marhu002 Patrik Karlsson patka843

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

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

Föreläsning 14. Filhantering

Introduktion HTML och PHP 732G16 Databaser design och programmering

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

E13 "Behind the Wild"

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

Dynamisk HTML JavaScript och webbläsarens objektmodell

Planering Programmering grundkurs HI1024 HT TIDAA

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

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

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

Webbservrar, severskript & webbproduktion

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

TENTAMEN OOP

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

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

Objektorienterad programmering Föreläsning 2

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

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

Transkript:

Innehåll JavaScript En Introduktion 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, nu DOM 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 Lättvikts RIA (RichInternet Applications) - slipper installation av Java-applets och liknande - slipper installation av plugins som Flash-spelare - mindre filer än Java-applets och Flashapplikationer Var ska skriptet vara? Ett HTML-dokument kan innehålla obegränsat med skript Skript kan skrivas i eller och / eller i båda Vanligtvis skrivs alla skript på ett ställe är bästa alternativet 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 /> Viktiga aspekter Sidan ska fungera i olika webbläsare Objektdetektering Webbsidan ska fungera bra även för de webbklienter som ej stödjer JavaScript! 1

Script i HTML-koden if (heading) { document.write("<h1>överskrift</h1>"); else { document.write("<p>paragraf</p>"); 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 med \ göra radbrytning i koden utan att den ändrar funktion 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 function displaydate() { document.getelementbyid( datum").innerhtml= Date(); <p id= datum">här visas dagens datum.</p> <button type="button" onclick="displaydate()"> Visa datum</button> Kommentarer - Det är viktigt att kommentera kod! //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!"); 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() 2

Funktioner Funktionen kan finnas i både och och användas på båda ställen function minfunktion { alert("jag heter Stefan Berglund och jobbar som lärare); minfunktion(); Argument Funktioner kan ha argument Ett argument är en variabel som skickas med när funktionen anropas function myfunction(name,job){ alert("jag heter " + name + " och jobbar som " + job); <p>starta en funktion med argument</p> <button onclick="myfunction('stefan', Lärare')"> Klicka här</button> 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(minVariabel); parsefloat(minvariabel); parseint(minvariabel); Dataobjekt var strstring = 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 3

Villkor (If-satser) Operatorer: ==,!=, >, >=, < och <= Logiska operatorer: &&, och! if( x == 1 x > 10) { // 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 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; Continue Continue() kan användas för att hoppa över ett steg i en loop 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; Switch switch ( intnummer ) { case 1: // kod om case= 1 break; case 2: // kod om case= 2 break; default: // kod om ej något av tidigare caseuppfyllts 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) 4

Struktur, utseende och beteende <p>här har vi lite text</p> p{ color: red; Händelsehantering och CSS Inlinestilmallar: alert( p-taggens färg: + paragraf.style.color); paragraf.style.color = blue ; 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 Definiera ej utseendet i din JavaScript-kod! var n=document.getelementbyid( nav ); n.classname = dynamic 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 <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> 5

Skapa ett felmeddelande 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; Validering med JavaScript Används väldigt ofta Kolla om texten är ifylld på ett korrekt sätt innan den skickas 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; 6