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

Relevanta dokument
JavaScript. DOM Scripting

JavaScript En Introduktion

JavaScript. En Introduktion

JAVASCRIPT. Beteende

Introduk+on +ll programmering i JavaScript

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

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

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

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

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

Dynamisk HTML JavaScript och webbläsarens objektmodell

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

Lektion 2 Del 1 Kapitel 6

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?

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

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

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

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

JS & beteende. TNMK30 - Elektronisk publicering

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

Användarhandledning Version 1.2

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

Lektion 3 HTML, CSS och JavaScript

TDIU01 - Programmering i C++, grundkurs

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

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

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

(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

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

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

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

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

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

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

EDA095 JavaScript. Per Andersson. Maj 4, Lund University Per Andersson EDA095 JavaScript Maj 4, / 23

Föreläsning 2 Programmeringsteknik och C DD1316

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

Beräkningsvetenskap föreläsning 2

Tentamen Grundläggande programmering

C++ Slumptalsfunktioner + switch-satsen

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

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

JavaScript. JavaScript Ramverk (Bibliotek) jquery + jquery UI

Avancerade Webbteknologier

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

Grundläggande datalogi - Övning 1

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

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

Webbprogrammering, DA123A, Studiematerial 4

Introduktion HTML och PHP 732G16 Databaser design och programmering

<script src= "

Arrayer (fält)

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

Karlstads Universitet, Datavetenskap 1

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

OOP Objekt-orienterad programmering

Planering Programmering grundkurs HI1024 HT 2014

Kursplanering Utveckling av webbapplikationer

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

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

Introduktion C-programmering

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

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

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

F4. programmeringsteknik och Matlab

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

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

JavaScript del 3 If, Operatorer och Confirm

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

E12 "Evil is going on"

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

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

Variabler och konstanter

Typkonvertering. Java versus C

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

Spelprogrammering med JavaScript och HTML5

Föreläsning 3-4 Innehåll

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

Repetition C-programmering

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

En snabb titt på XML LEKTION 6

E07 "Greased Lightning"

Tillämpad Programmering. Ekonomi + Spel + Javascript

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Planering Programmering grundkurs HI1024 HT TIDAA

Programmering A. Johan Eliasson

Visual Basic, en snabbgenomgång

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

729G04 Programmering och diskret matematik. Föreläsning 7

Lektion 5, del 1, kapitel 12

Tentamen i Introduktion till programmering

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

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

Programmeringsteknik I

Föreläsning 4. CSS Stilmallar för webben

Programmering B med Visual C

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

Övning2. Variabler. Data typer

Transkript:

Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia Document object model Skapat 1995 av Netscape och Sun JavaScript Java JavaScript, (VBScript), Jscript, EcmaScript DHTML = HTML + CSS + JavaScript DOM Netscape, Microsoft och W3C A platform and language neutral interface that will allow programs and scripts to dynamically access and update the content, structure and the style of documents W3C:s defenition DHTML Varför Javascript? <div id= inforuta >Min text!</div> #inforuta { position: absolute; left: 100px; var x = document.getelementbyid( inforuta ).style.left; Minskad datatrafik + Snabbare feedback Utökad interaktiv funktionalitet Lättvikts RIA (Rich Internet Applications) slipper installation ti av Java applets och liknande slipper installation av pluggins som Flash spelare mindre filer än Java applets och Flashapplikationer 1

Varför inte JavaScript? JavaScript JavaScript kan utgöra en säkerhetsrisk Alla webbläsare har stödjer inte JavaScript och vissa användare väljer att slå av stödet Webbsidan ska fungera bra även för de webbklienter som ej stödjer JavaScript! Ett interpreterande scriptspråk jämfört med Java som kräver kompilering Koden tolkas av webbläsaren <script> //Och här har jag flera rader med scriptkod </script> <script type= text/javascript src= skript.js /> <script type= text/javascript src= skript2.js /> Uttryck och kommentarer Variabler och Datatyper Statements: Första uttrycket Andra uttrycket Första uttrycket; Andra uttrycket; Första uttrycket; Andra uttrycket; Kommentarer: // Kommentar /* Kommentar som spänner Över flera rader */ Variabler: Svagt typade Måste inte deklareras Case sensitive Datatyper: Strängar, Heltal, Flyttal, Boolska, Arrayer Variabler och Datatyper Konvertering av datatyper var age = Trettionio ; // strängvariabel age = 39; // heltalsvariabel // skiljer sig från age= 39 ; var Age = 39.5; // flyttalsvariabel // age och Age är två olika variabler var minvariabel = 1 + 2 ; var minvariabel = 1 + Number( 2 ) Number() parsefloat() parseint() var adult = true; // boolsk variabel 2

Arrayer Aritmetiska Operatorer Lagrar flera värden av samma eller olika typ Index: 0 1 2 3 Värden nås genom index Element var colors = new Array(); // array av colors[0] = red ; // strängvariabler colors[1] = blue ; var Tal = [ Ett, Två, Tre, Fyra ]; + * och / var age = 39 + år ; // 39år var Age = 38 + 1; // 39 age = 38 + 1; // 381 Age = 38; Age += 1; // 39 Jämförande Operatorer och IF-satser ==!= > >= < och <= age = 39; if (age < 40) { alert( Ingen kris ännu? ) if (age == 40) { alert( Nu blir det kris... ); // Notera == inte bara = då tilldelas age värdet 40! Logiska Operatorer och If-satser && och! if (age >= 40 && name!= Silvia ) { alert( Du börjar bli gammal ) else { alert( Lika vacker som alltid...? ) CASESATSER LoopAR switch (betyg) { case "3": alert( Helt ok'); break; case "4": alert( Bra jobbat'); break; case "5": alert( Riktigt bra jobbat!'); break; default: alert( Det är bara att kämpa vidare...'); while, do while och for var stoppbuttonpressed = false; while (stoppbuttonpressed == false){ alert( Vi kör vidare tills du trycker stopp! ); for (var i = 0; i < 10; i++){ alert(i); // i++ är samma som i+=1 och i = i + 1; 3

Funktioner Funktioner Kod som läggs i en funktion kan återanvändas Effektivare och mer överskådligt En funktion kan ta emot parametrar och returnera ett värde function addera(tal1, tal2){ var resultat = tal1 + tal2; return resultat; var summa = addera(10, 5); En variabel kan vara global eller lokal. Lokala variabler deklareras i funktioner och globala utanför Funktioner Dataobjekt Riskabelt att använda globala variabler! function addera(tal1, tal2){ resultat = tal1 + tal2; return resultat; var resultat = 100; var summa = addera(20+30); alert(resultat + summa); JavaScript har fördefinierade objekt, och man kan skapa sina egna Ett objekt kan ha egenskaper, utföra metoder och reagera på händelser var colors = [ Red, Green, Blue, Yellow ]; alert(colors.length); function dice(){ var number = Math.floor(Math.random()*6) + 1; Document object Model (DOM) Demonstration av JavaScript En standardiserad modell där man ser en webbsida och dess innehåll som objekt Objekten hänger ihop Elementträd 4

elementnoder DOMs viktigaste metoder Kan inneha andra elementnoder, attributnoder och/eller en textnod var meny = document.getelementbyid( minmeny ); var lista = document.getelementbytagname( li ); var minatagg = document.getelementbytagname( a ); alert(minatagg[0].getattribute( href )); minatagg[0].setattribute( href, http://di.se )); Children, ParentS, SiblingS And Values <body> <h1>rubrik</h1> <p>textstycke</p> <h2>underrubrik</h2> <ul id= MinLista > <li>listvärde 1</li> <li>listvärde 1</li> <li><a href= http://www.di.se >di.se</a></li> </ul> </body> Children, ParentS, SiblingS And Values var minlista = document.getelementbyid( MinLista ); var listenheter = minlista.getelementsbytagname( li ); for(var i = 0; i < listenheter.legth; i++){ // Gör något smart document.getelementbytagname ( p )[0].firstChild.nodeValue= Hej världen ; Läsa och ändra Attribut Objektdetektering var firstlink = document.getelementbytagname( a )[0]; if(firstlink.getattribute( href ) == http://www.di.se ){ firstlink.setattribute( href, i i http://www.va.se ); Kontroll om det finns stöd för DOM <script type=text/javascript> if (document.getelementbyid && document.createtextnode) { // Den kod jag tänkt... return; else { // Anpassad kod, dvs mer kod... </script> 5

händelsehantering Exempel på händelser (events): en webbsida laddas en bild laddas en knapptryckning k tryck på en tangent när musen rör sig över något Demonstration av DOM 6