PD – kursusgang 3 Introduktion til Java Script. Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring.

Slides:



Advertisements
Lignende præsentationer
Kort om JavaScript Afvikles i browser på klienten Sendes fra server (php, asp, aspx, htm) eller startes i klient som htm/html fil. Skabelon: –”main” -
Advertisements

Introduktion til HTML HTML dokumentets struktur & Indhold.
Introduktion til Javascript – Grundlæggende Webdesign, F2004. Introduktion til Javascript.
Hjemmesidekonstruktion Tjekspørgsmål 1.Hvad er et markup-sprog – hvad bruges det til? 2.Hvad er forskellen mellem et markup-sprog og et scriptsprog? 3.Hvad.
Velkommen til Softwarekonstruktion
KONCEPT Klasser og objekter En klasse beskriver et World ArrayList
Dag 9: Programpakker Jquery og JQuery Mobile
Intro Forelæsning 2 Linux install-party lør.14.sept kl – man. 14.okt – Kursets omfang :7,5 ECTS Kursussammensætning: forelæsning.
Intro Variabler - datatyper. 2. forelæsning Hvad skete sidste gang Hvad er PHP? Kursussammensætning: læse – newsgroup – forelæsning – øvelsestime – aflevering.
Introduktion/Otto Knudsen 1 Overblik WebForms ASP.NET.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
XML1 4.7 XML and Its Data Model. XML2 Introduktion til XML, 178 XML = eXtensible Markup Language Markup language –sprog, hvor data "pakkes ind" i tags.
GP5, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 5 Slides ligger på nettet. Du er velkommen til at printe dem nu. Vi begynder.
GP 10, 7/ Grundlæggende programmering Efterår 2001 Forelæsning 10 onsdag 7/ kl. 9:15 – 12:00.
Lasse Steensgaard [xls]Opsamlende forelæsning på W2, 2. april 2003slide 1 HTML og PHP: Baglæs fra output til input PHP: Variable, strenge og arrays Funktioner,
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
Intro Projekttyper v/ Lise Louv, Uddannelsesafdelingen Siden sidst: evaluering på opgaver og virtuel kursus. Kursets ugeforløb læse – forelæsning – øvelsestime.
18 – Java Server Faces. 2 NOEA2009Java-kursus – JSF 2 Web-applikationer - 1 Brugere interagerer med en Web-browser Browseren sender forespørgsler til.
Programmering af dynamiske websider pages/tutorials/introducing-aspnet- web-pages-2/intro-to-web-pages- programming.
1 Unified Expression Language Copyright © Lund & Bendsen A/S Unified Expression Language.
Intro til C# apps Kodegennemgang af simpel C# app
AJAX/Otto Knudsen 1 AJAX Motivation Definition. AJAX/Otto Knudsen 2 Motivation En typisk web-applikation er synkron klienten sender en forespørgsel og.
Dag 7: Javascript Screen-broadcast – gå til - Indtast mødenummer - Vælg html-viewer - Klik Join sessionwww.123beam.com Php-opsamling (php-warning.
Delphi og C++ Builder C++ Builder. C++ Historie Sproget blev designet for AT&T af danskeren Bjarne Stoustrup En objektorienteret videreudvikling.
Program Design – 4 Introduktion til PHP. Dagens lektion Hvad er PHP?  - og lidt historie Hvordan virker PHP? Grundlæggende PHP  Variable  Typer  Løkker.
Fundamentale datastrukturer
1 JavaScript Lektion 6: Repetition i JavaScript Math TIDY Litteratur: JST lektion 10.
JavaScript i externe filer JavaScript gemmes i en ekstern fil (myscripts.js ) og så hentes ind i dokument hvor de skal bruges med, svarende at koden var.
FEN KbP/seminar 1: Specifikationer/Notationen Q 1 Kontraktbaseret programmering: Seminar 1 Om specifikationer Algoritmenotationen Q.
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Masterpages/Otto Knudsen 1 Navigation på webstedet Kontroller til navigation mellem siderne på webstedet.
Procestræ under afvikling af cp init login shell cp cp src dest.
Paradigmer i Programmering 2. Sammensatte typer Tupler og lister Programmering med rekursion Programmering med pipe-lines Programmering med polymorfe.
Paradigmer i Programmering 1. Program for idag : Funktioner og udtryk i SML : Øvelse : Frokost – 14.00: Deklarative.
Paradigmer i Programmering 1. Plan for kurset 4 x Mads R, 4 x Torben B, 2 x opgave MR: Funktionsprogrammering, SML TB: Logikprogrammering, Prolog Opgave:
Fundamentale sprogbegreber
Webserveren kan afvikle flere applikationer, der hver har deres eget selvstændige ”liv” og hukommelse. Den enkelte applikation består typisk af flere elementer.
Intro Siden sidst: evaluering på opgaver og virtuel kursus.
Intro Siden sidst: evaluering på opgaver og virtuel kursus Kursussammensætning: forelæsning – læse – arbejde selvstændigt – newsgroup – øvelsestime – aflevering.
Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner findEn findAlle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed.
Grundlæggende web design, ITU Torsdag d. 3 nov Javascript.
GP4, Martin Lillholm 1 Grundlæggende Programmering (GP) Efterår 2005 Forelæsning 4 Vi begynder Slides ligger på hjemmesiden. Du er velkommen til.
Grundlæggende DW, HTML, CSS, udskæring.
PD – kursusgang 2 Introduktion til Frames og Cascading Style Sheets.
Paradigmer i Programmering 3. Højere ordens funktioner Idag: Højere ordens funktioner Algebraiske datatyper Næste gang: I/O, Filer, interaktive programmer.
DIEB7.1 Kursusgang 7 Oversigt: Sidste kursusgang Opgaver Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing.
Quiz 3.1. Quiz 1 – Assignment dIntProg, E14 Hvad er værdierne af x og y efter udførelse af følgende program? 1.x er 6, y er 3 2.x er 8, y er 5 3.x er.
DAIMIIntroducerende objektorienteret programmering4B.1 Typer og tilstand i Java Typer, tilstand, erklæring, variable, primitive datatyper, reference- og.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmeringkd.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
DAIMIIntroducerende objektorienteret programmering4B.1 Grundlæggende og Reference Typer i Java Typer, tilstand, erklæring, reference- og værdi semantik,
 Jens Bennedsen 2001Multimedie programmering3A.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Klasser og objekter. dIntProg, F08Klasser og objekter.2 Grundbegreber Klasser og objekter –beskrivelse –oprettelse Attributter og metoder –tilstand –opførsel.
Jesper Mosegaard Multimedie Programmering E2003 MMProg uge44 Java til Lingo Klasser, statements og lister.
Multiple processer på web-site Web- server filer Kunde 1 Kunde 2 Kunde p1p2p internet.
Programmering I Java/C# Datatekniker Dit første projekt.
Forelæsning Uge 2 – Torsdag Java syntax og style guide Sætninger –Simple sætninger (assignment, interne og eksterne metodekald) –Sammensatte sætninger.
Algoritmeskabeloner findOne, findAll, findNoOf, findSumOf Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder.
Forelæsning Uge 2 – Torsdag
Programmering 1 Java/C#
Forelæsning Uge 4 – Mandag
Quiz – Uge 2 – torsdag – første time
Forelæsning Uge 2 – Mandag
”Avanceret” Programmering
Studiepraktik Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Programmering.
Quiz Uge 2 – mandag.
Quiz Uge 2 – mandag.
ROBOTTERNE KOMMER - OZOBOTTERNE.
Forelæsning Uge 2 – Mandag
Præsentationens transcript:

PD – kursusgang 3 Introduktion til Java Script

Mål Viden om hvordan JavaScripts indlejres i HTML dokumenter Viden om programmering i JavaScript  Erklæring og brug af variable  Typer og værdier  Løkker og Selektion  Funktioner Viden om anvendelse af DOM Viden om ”event-programmering”

Et simpelt eksempel Ved hjælp af JavaScript kan vi tilføje ”dynamik” og ”interaktion” til vores projekthjemmeside:  En smart fold ud menu  Simpel form validering Link

Hvad er JavaScript? JavaScript giver os mulighed for at indlejre ”programmer” i HTML dokumenter Bruger interaktion  Vi kan reagere på hændelser (events)  Vi kan validere bruger input Dynamisk indhold  Vi kan dynamisk ændre et HTML dokument  Vi kan ligefrem animere et HTML dokument JavaScript er stort set et rigtigt programmeringssprog

Klient-side afvikling af JavaScripts Web-server JavaScript WWW Web-browser HTML Page Web-klient

Indlejring af JavaScripts Vi indlejrer JavaScripts ved hjælpe af tag’et … Vi kan placere JavaScripts i  Header  Body  Eller begge steder Eksterne JavaScripts (.js) indlejres ved hjælp af attributten ”src”

Hvordan laver vi et JavaScript? Det grundlæggende  Variable  Tildeling/Assignment  Operatorer  Typer  Hjælpere JavaScripts  Simpel Interaktion  Selektion og Gentagelse  Funktioner Dynamisk HTML  DOM  Events

Det grundlæggende

Variable En variabel er en beholder for information vi ønsker at huske/gemme Variabel erklæring: For at kunne referer til de informationer vi har gemt navngiver vi vores variable var etNavn = ”Florian Pilz”; Vi kan nu bruge eller manipulere denne information ved at referer til information via etNavn etNavn ”Florian Pilz”

Tildeling/Assignment Et assignment er når vi tildeler en variabel en værdi var etNavn = ”Florian Pilz”; Et assignment er en kommando Kommandoer afsluttes ALTID med semikolon ; etNavn ”Florian Pilz”

Operatorer Vi kan manipulere værdier ved at udføre operationer på dem  +, -, /, *, ++, --, % En operator er ikke i sig selv en kommando, men en assigenment er:  t = 7 + 4;  t = 7.3 * 5;  t = (5+7) * 3.6;  a++; er det samme som a = a + 1;

Numre – heltal og reelle tal Heltal (integer)  – 7, 8, -1, Reelle tal (float)  7.2, -7.5, 7e12 var etTal = 8; var etAndetTal = 17 + etTal;

Boolske værdier En boolsk værdi er enten  true, eller  false var enBool = false; var enAndenBool = true; enBool = 7==5; - giver false enBool = 7>5; - giver true

Tekststrenge En string er en række af tegn omgivet af ” eller ’’ var etEfternavn = ”Pilz”; var etFornavn = ”Florian”; var etNavn = etFornavn + ” ” + etEfternavn ; etNavn ”Florian Pilz”

Tools / Metoder Strings var str = ”Florian Pilz”; var len = str.length; - giver 14 str.charAt(5); - giver ”s” Math  cos, sin, pi, tan, abs, log, … Number Date

JavaScripts

Simpel Interaktion (1) Alert alert(”Hejsa”); Confirm var svar = confirm(”Ok eller Cancel?”); if (svar==true) alert(”Der blev valgt Ok”); else alert(”Der blev valgt Cancel”); Link

Simpel Interaktion (2) Prompt var svar = prompt(”Hvad er dit navn?”); alert(”Hej ” + svar + ”!”); Document.write var svar = prompt(”Hvad er dit navn?”); document.write(”Hej ” + svar + ”!”); Link

Selektion (1) var a = 3; … a = a + 2; … if (a==5) { document.write(’a er 5’); } else { document.write(’a er ikke 5’); } Hvis dette udsagn er sandt, så udfør disse kommandoer, ellers udfør disse kommandoer. Udsagnet skal være boolsk  Altså sandt eller falsk else kan undlades Link

Selektion (2) var a = 3; … a = a + 2; … if (a==5) { document.write(’a er 5’); } Hvis dette udsagn er sandt, så udfør disse kommandoer. Udsagnet skal være boolsk ( Altså sandt eller falsk)

Sammenligninger Vi har følgende muligheder når vi vil danne udsagn ”5”!==5, 4!==4!==Strengt ikke lig med ”5”===5, 4===4===Strengt lig med 5>=5, 5>=7, ’florian’>=’Pilz’>=Større end eller lig med 5<=5, 5<=7, ’florian’<=’Pilz’<=Mindre end eller lig med 5>5, 5>7, ’florian’>’Pilz’>Større end 5<5, 5<7, ’florian’<’Pilz’<Mindre end 7!=5, 17!=17, ’florian’!=’Pilz’!=Ikke lig med 5==5, ’florian’==’Pilz’==Lig med Link

… var a = 0; … while (a<5) { a = a +1; } … Løkker – while løkken Så længe udsagn er sandt, så udfør kommandoer Link Udsagnet skal være boolsk ( Altså sandt eller falsk)

… var sum = 0, count; for (count = 0; count <=10; count ++) { sum = sum + count; } … Løkker – for løkken 1.Vi starter med værdien x i variablen v. 2.Hvis v ikke overskrider grænsen g, så udfør kommandoer, ellers stop. 1.Tæl v op med y, og gå til punkt 2. Udsagnet skal være boolsk ( Altså sandt eller falsk) count = 0; Link

Funktioner (1) En funktion er en navngivet indkapsling af kommandoer function fun() { document.write(”Vores første funktion”); } … fun(); Link

Funktioner (2) Funktioner kan tage parametre som så fungerer som ”lokale”-variable function fun(tekst) { document.write(tekst); } … fun(”Vores anden funktion”); Link

Funktioner (3) Funktioner kan returnere værdier function udregn(tal1,tal2) { return tal1*tal2; } … var etAndetTal = udregn(5,17); - giver 85 Link

Scope regler (1) Globalt scope  Variable som erklæres uden brug af var x=5;  En sådan global variabel kan tilgås overalt i et HTML dokument  Globalt scope frarådes oftes – så brug var. Lokalt scope  En variabel erklæret i en funktion, med var, kan kun bruges den funktionen

Scope regler (2) Head function print(tekst) { var lokalTekst = ”Lokal Tekst”; globalTekst = ”Global Tekst”; document.write(tekst); } Body var bodyTekst = ”Body Tekst”; print(bodyTekst); print(globalTekst); print(lokalTekst); Link

Fejl i Scripts Tjek at web-browseren er sat til at vise fejlbeskeder Brug fejlbeskeder – så læs dem grundigt Typiske fejl  Variabel ikke erklæret  Funktion ikke erklæret  Funktion findes ikke i document, Date, Math osv. Så tjek at alle funktioner og variable er stavet rigtigt!

Dynamisk HTML

Dokumenter set som et træ (1) Et simpelt dokument Overskrift Tekst i en paragraf Budget September Oktober Mad 1500,- 1500,- Link

Dokumenter set som et træ (2) document head body h1 p tr th table title th ”Budget””September””Oktober””1500,-” ”Mad” tr td th ”Tekst i en paragraf” ”Overskrift” ”Et simpelt dokument” Rod Knude

Document Object Model (1) DOM er endnu en specifikation fra W3C DOM definerer et interface mellem HTML dokumenter og applikations programmer Via DOM kan vi  tilgå,  manipulere,  og tilføje, vilkårlige elementer i et HTML dokument

DOM element adgang Definition af et element vha. id attribute Adgang til et element med et id document.getElementById(”et_id”); var felt = document.getElementById(”info”);

Document Object Model (2) HTML elementer repræsenteres af objekter i DOM Et HTML elements attributter repræsenteres af properties i det givne objekt Andre interessante properties .innerHTML .style (.style.color,.style.cssText, osv.)

DOM element adgang (3) var felt = document.getElementById(”infofelt”); felt.innerHTML = ”Noget tekst her!”; felt.style.color = ”red”; ObjektProperty Link

Events

Events (1) Et event er en øjeblikkelig hændelse – typisk som resultat af en brugers handling  Klik med mus  Bevæge musecursor henover et bestemt sted  Bede om at få vist et dokument En event-handler er en lille programstump som bliver udført når en bestemt hændelse er sket Link

Events (2) onloadload onfocusfocus onerrorerror onclickclick onchangechange onblurblur onabortabort onunloadunload onsubmitsubmit onselectselect onresizeresize onresetreset onmouseovermouseover onmouseoutmouseout Event handlers specificere i attributter: Tjek referencen på nettet

Lad os så set på et eksempel function load_event () { alert("Dokumentet er nu hentet!"); }.. unload_event, click_event, blur_event.. function focus_event () { var felt = document.getElementById("infofelt"); felt.innerHTML = "<<<< Focus her"; } <body onload="load_event();" onunload="unload_event();"> Klik her! Link 2Link 1

DOM element adgang (1) Dokumenter i dokumenter (frames) parent.frames[1].document.getElementById(”et_id”); menuindhold frameset 01

Form validering (1) I vores notesblok på vores projektgruppe-side vil vi sikre at der rent faktisk bliver indtastet et navn  Først giver vi en fejlbesked  Så sætter vi fokus på det manglende felt i form’en  Dernæst skal vi blokere så det ikke bliver sendt en hvis der er opstået en fejl For at stoppe web-browseren i at udføre en standard handling skal en event-handler blot returnere false Link

Form validering (2) function checkForm() { var felt = document.getElementById("navn"); if (felt.value=="") { alert("Du har ikke indtastet et navn!”); felt.focus(); return false; } else { return true; } <form method="post" enctype="text/plain" onsubmit="return checkForm();" fra hjemmeside"> Header Body