Introduk+on +ll programmering i JavaScript

Relevanta dokument
Introduk+on +ll JavaScript if- sats, funk+oner, bilder

JAVASCRIPT. Beteende

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

SMD 134 Objektorienterad programmering

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

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

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

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

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

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

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

Föreläsning 6: Introduktion av listor

Övningar i JavaScript del 2

F8 Webbteknologier 2. PHP PHP: Hypertext Preprocessor

Loopar och objekt i JavaScript

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

En snabb titt på XML LEKTION 6

Dynamisk HTML JavaScript och webbläsarens objektmodell

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

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

JavaScript. En Introduktion

Föreläsning 2 Programmeringsteknik och C DD1316

Namn: (Ifylles av student) Personnummer: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Föreläsning 1 & 2 INTRODUKTION

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

Språk för webben introduk4on 4ll HTML

Programmering A. Johan Eliasson

Inlämningsuppgift 2. DA156A - Introduktion till webbutveckling Teknik och samhälle, Malmö högskola Oktober 2012

Programmeringsteknik med C och Matlab

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?

Användarhandledning Version 1.2

Exempel på ett litet Ada-program

Variabler och konstanter

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

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

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

Introduktion till PHP

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

FileCentral Desktop. Användarhandledning Version

Labora&on 5 Dynamisk HTML och &mers övningar/uppgi=er

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

E12 "Evil is going on"

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Lektion 2 Del 1 Kapitel 6

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Lektion 3 HTML, CSS och JavaScript

Labora&on 2 HTML och validering övningar/uppgi:er

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

TDIU01 - Programmering i C++, grundkurs

PROGRAMMERING A VC# 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL C#

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

Objektorienterad programmering D2

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

JavaScript del 3 If, Operatorer och Confirm

Tentamen OOP

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

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

Grundläggande programmering med C# 7,5 högskolepoäng

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

Labbrapport: HTML och CSS

Kursplanering Utveckling av webbapplikationer

Objektorienterad programmering i Java

PHP. Dynamiska webbsidor

Hjälpmedel för kompilatorkonstruktion, DVB004

Programmering för språkteknologer II, HT2014. Rum

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Föreläsning 3.1: Datastrukturer, en översikt

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

"if"-satsen. Inledande programmering med C# (1DV402)

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

Labora&on 8 Formulär övningar/uppgi6er

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Imperativ programmering. Föreläsning 2

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

JavaScript En Introduktion

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

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

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

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

Objektbaserad programmering

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

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

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

Objektsamlingar i Java

Föreläsning 4: Poster

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

Chapter 3: Using Classes and Objects

Teknikprogrammet, inriktning informations- och medieteknik

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

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

Tentamen TEN1 HI

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Dugga Datastrukturer (DAT036)

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Webbprogrammering. Sahand Sadjadee

Karlstads Universitet, Datavetenskap 1

Avancerade Webbteknologier

Övningar i JavaScript del 7

JS & beteende. TNMK30 - Elektronisk publicering

Transkript:

Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se

Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska, Formella språk Beskrivningsspråk Strukturering, ukormning av presenta+on T.ex. HTML, CSS, XML, Programspråk Instruk+oner för aq skapa funk+onalitet och interak+vitet mellan användare och program T.ex. JavaScript, Ac+onScript, PHP, Java, C++, Ada, 2

Exempel Program för aq dricka kaffe Program: sekvens av instruk;oner 1. Häll kaffe i en kopp 2. Drick kaffe ur koppen 3. Slut 3 Bilder från freedigitalphotos.net

Flödesschema Start Program för att dricka kaffe! Sekvens av kommandon/instruk+oner (programsatser) Häll kaffe i en kopp Drick en mun kaffe ur koppen 1. Häll kaffe i en kopp Svenska 2. Upprepa så länge du vill ha mer kaffe: 2a. Drick en mun kaffe ur koppen 2b. Om koppen är tom, så lämna sekvensen 3. Slut Koppen tom? Nej Ja kopp = 10; ukör så länge (merkaffe) { kopp = kopp - 1; om (kopp = 0) avbryt; } pseudokod Ja Nej Vill ha kaffe? Slut var kopp = 10; JavaScript while (confirm("jag vill ha mer kaffe")) { kopp = kopp - 1; if (kopp == 0) break; } 4

Programspråk Gramma+k, språkets regler Lexikala enheter (vokabulär) nyckelord iden+fierare operatorer och andra tecken var kopp = 10;" while (confirm("jag vill ha mer kaffe")) {" "kopp = kopp - 1;" "if (kopp == 0) break;" }" Syntax sammansäqning +ll satser (meningar), regler för hur lexikala enheter får säqas samman Seman+k satsernas meningsfullhet (betydelse) Värdet 10 sparas i variabeln kopp 5

Programspråk som ger funk+onalitet på webbsidor JavaScript Infogas i HTML- koden script- taggar Körs i webbläsaren UKörs på klientsidan ej på serversidan HTML & JavaScript Klient Server 6 Bilder från freedigitalphotos.net

Script- taggen <script type="text/javascript"> JavaScript- kod </script> <script type="text/javascript" src="script.js"></script> Placeras var man vill i HTML- koden Brukar ligga i head- delen UKörs då sidan läses in eller då koden anropas (vid användning av funk+oner) Läggs ibland i body- delen, om man vill aq koden ska uköras där ex1" JavaScript- koden kan ligga i en separat fil som man refererar +ll i script- taggen ex2" 7

Variabler Värden (data) i program sparas i variabler En variabel är en behållare för aq spara eq värde, så aq det senare kan användas En variabel är alltså eq litet minne i programmet Variablerna ges namn, så aq man kan referera +ll dem Använd endast bokstäverna a- z, siffror och _ Får ej börja med en siffra 23 age = 23; // Variabeln age får värdet 23 age 23 age + 5 // Värdet 23 används i beräkningen 8

Programsats Kommando/instruk+on för aq uköra något Jämför med meningar i naturliga språk Avslutas i JavaScript med semikolon ; Exempel: Tilldelningssats var x = 2 * a; UQryck Beräkning av något Programsatser och udryck Exempel: Aritme+ska uqyck 2*a year+12*month 3/(x- 2) ex3" McGrath, M. (2009) JavaScript in easy steps, fourth edi;on, In Easy Steps, s.24 9

Datatyp Data kan anges på olika form Data Exempel på några vanliga typer: String (textsträng): "En text" 'En annan text' Number: Integer (heltal): 123-48 Float (flyqal): 3.14-8.9675 2E- 3 (2E- 3 = 2*10-3 ) Boolesk: true false Object: Kan innehålla flera olika värden, t.ex. eq datum Speciella värden: Null: ingen+ng, utan specificerad typ Undefined: en variabel som inte fåq något värde NaN (Not a Number): resultat då man försöker uköra en aritme+sk opera+on på värden som inte är tal, t.ex. 2*"text" McGrath, M. (2009) JavaScript in easy steps, fourth edi;on, In Easy Steps, s.16 10

Funk;on Programkoden kan delas in i funk+oner En funk+on ges eq namn (id) Funk+onen kan anropas från en annan funk+on då webbsidan laddats från en tagg i HTML- koden t.ex. en knapp som användaren kan klicka på ex4" Fördelar med funk+oner Programmet delas upp i mindre delar Det blir då mer strukturerat och överskådligt En funk+on kan anropas från flera gånger och från flera ställen 11

Indata och utdata Indata från användaren kan t.ex. vara klick på en knapp (eller annan tagg) text (eller tal) som skrivs i eq texkält i eq formulär Utdata från programmet kan t.ex. vara eq meddelande i en popup- ruta innehållet i en tagg förändras ex5" 12

Sy e med språket: Scriptspråk för aq göra webbsidor mer levande och dynamiska JavaScript- historik Utveckling Netscape (1995) LiveScript JavaScript Utvecklade språket fram +ll version 1.3 (1.4 för program på servern) Microso (1996) JScript (Vbscript) ECMA European Computer Manufacturers Associa+on (1997) ECMAScript - ECMA- 262 (= JavaScript 1.3) JavaScript 1.5 (2000) JavaScript 1.6 (2005) JavaScript 1.7 (2006) JavaScript 1.8 (2008) JavaScript 1.8.5 (2010) Wikipedia (2012) JavaScript, Wikipedia, +llgänglig: hqp://en.wikipedia.org/wiki/javascript#versions [2012-10- 25] 13

Dynamisk HTML (DHTML) Dynamic HTML is a term used to describe HTML pages with dynamic content. CSS is one of three components in dynamic HTML; the other two are HTML itself and JavaScript (which is being standardized under the name EcmaScript). The three components are glued together with DOM, the Document Object Model. HTML CSS DOM Script Bert Bos(2012) Web Style Sheets Home Page, W3C, +llgänglig: hqp://www.w3.org/style/ [2012-10- 25] 14

Exempel på dynamiskt innehåll Förändrat innehåll Datum och +d visas på sidan förändras då man kommer +ll sidan eller kon+nuerligt En länks des+na+on beror på vad användaren valt i eq formulär Visuell feedback Då användaren för in markören över en knapp byter den utseende Då användaren klickar på olika miniatyrbilder förstoras de Formulär Användaren gör val och fyller i uppgi er som sedan kan resultera i någon beräkning (t.ex. en lånekalkyl på en banks webbsida) 15