Javascript. Πανεπιστήμιο Πελοποννήσου Τμήμα Επιστήμης & Τεχνολογίας Τηλεπικοινωνιών. Ευάγγελος Α. Κοσμάτος

Σχετικά έγγραφα
ΕΠΛ 012. JavaScripts

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

JAVASCRIPT 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Περιεχόμενα. Πρόλογος...11

Εισαγωγή στην πληροφορική

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

2.1. Εντολές Σχόλια Τύποι Δεδομένων

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

Εισαγωγή στην PHP. ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας. Περιεχόμενα. Περιεχόμενα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Προγραμματισμός Διαδικτύου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Εισαγωγή στον Προγραμματισμό

Γαβαλάς Δαμιανός

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

ικτυακά Πολυμέσα Ι (Β Έτος, 3ο εξ) ιάλεξη #8η: Javascript: Τεχνικές εντοπισμού/διόρθωσης λαθών, τελεστές, δομές ελέγχου, βρόχοι επανάληψης

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

Εισαγωγή στην γλώσσα προγραμματισμού C

for for for for( . */

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

Πανεπιστήμιο Αιγαίου. Χειμερινό εξάμηνο. Σχολή Κοινωνικών Επιστημών Τμήμα Πολιτισμικής Τεχνολογίας Και Επικοινωνίας

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Αντικειμενοστρεφής Προγραμματισμός

Παιχνίδια σε Javascript

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

Εισαγωγή στη γλώσσα προγραμματισμού C++

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Ανάπτυξη και Σχεδίαση Λογισμικού

Εισαγωγή στη Matlab 2 Εισαγωγή στην Αριθμητική Ανάλυση Διδάσκων: Γεώργιος Ακρίβης Βοηθός: Δημήτριος Ζαβαντής

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

Στοιχειώδης προγραμματισμός σε C++

ΗΥ-150. Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Εισαγωγή στην Αριθμητική Ανάλυση

Δομημένος Προγραμματισμός (ΤΛ1006)

ΗΥ-150. Προγραμματισμός

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Εισαγωγή στον Προγραμματισμό Python Μάθημα 1: Μεταβλητές, τελεστές, είσοδος/έξοδος προγράμματος, συνθήκη ελέγχου if Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

Τεχνικές εντοπισμού & διόρθωσης λαθών στη Javascript

Διαδικασιακός Προγραμματισμός

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

PHP 1. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

3. Εκφράσεις και έλεγχος ροής

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.

Υπολογισμός - Εντολές Επανάληψης

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

Δομές ελέγχου ροής προγράμματος

Ανάπτυξη και Σχεδίαση Λογισμικού

Τεχνικός Εφαρμογών Πληροφορικής

Διαδικασιακός Προγραμματισμός

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

Διαδικασιακός Προγραμματισμός

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties)

Προγραμματισμός με FORTRAN Συνοπτικός Οδηγός Α. Σπυρόπουλος Α. Μπουντουβής

Αντικειμενοστρεφής Προγραμματισμός -Python. Κ.Π. Γιαλούρης

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Προγραμματισμός Υπολογιστών & Εφαρμογές Python. Κ.Π. Γιαλούρης

Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)

Αντικειµενοστρεφής Προγραµµατισµός

Η γλώσσα προγραμματισμού EEL

8. Συνθήκες ελέγχου, λογικοί τελεστές

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Η γλώσσα προγραμματισμού C

3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Transcript:

Javascript Πανεπιστήμιο Πελοποννήσου Τμήμα Επιστήμης & Τεχνολογίας Τηλεπικοινωνιών Ευάγγελος Α. Κοσμάτος

Ιστορική αναδρομή H γλώσσα JavaScript δημιουργήθηκε από την Netscape Communication Corporation δημιουργός του web browser Netscape Navigator Αποτελεί την πρώτη web scripting γλώσσα Αρχικά ονομάστηκε LiveScript και πρωτοεμφανίστηκε στον browser Netscape Navigator το 1995. Μετονομάστηκε σε JavaScript από την Sun για να προωθήσει τη Java. H JavaScript δημιουργήθηκε για να προσθέσει αλληλεπίδραση στις στατικές σελίδες HTML αντίδραση σε γεγονότα (events) που μπορούν να συμβούν σε μια σελίδα πρόσθεση λογικής στην σελίδα καλύτερη εμφάνιση Προγραμματισμός ιστοσελίδων 2

Γλώσσα Σεναρίων H JavaScript είναι Αντικειμενοστρεφής Γλώσσα Σεναρίων (Object Oriented Scripting Language) Programming Language: Δημιουργία «πηγαίου κώδικα» (source code) Μεταγλώττιση του πηγαίου κώδικα (compiling) Δημιουργία κώδικα δυαδικής μορφής (binary code) Εκτέλεση του binary code από τον επεξεργαστή Scripting Language: Δημιουργία κώδικα «σεναρίου» (script) και άμεση εκτέλεσή του από κάποιο πρόγραμμα με κατάλληλο Interpreter Στην περίπτωση της JavaScript η εκτέλεση γίνεται από τον browser (περιέχει τον Javascript Interpreter) Προγραμματισμός ιστοσελίδων 3

Δυνατότητες της JavaScript Δημιουργία μηνυμάτων στον χρήση μέσα στο σώμα (body) της σελίδας μέσω pop-up παραθύρων Επικυροποίηση του περιεχομένου μιας φόρμας εμφάνιση κατάλληλων μηνυμάτων στο χρήστη Εκτέλεση υπολογισμών (λογική της σελίδας) Αντίδραση σε γεγονότα δημιουργία εικόνων που αλλάζουν όταν ο δείκτης του ποντικιού μετακινηθεί πάνω τους Προσθήκη μηνυμάτων στη γραμμή κατάστασης του browser Ανίχνευση του browser που χρησιμοποιείται και παρουσίαση διαφορετικού περιεχομένου ανάλογα με τον τύπο του browser Ανίχνευση των εγκαταστημένων plug-ins και ενημέρωση του χρήστη όταν απαιτείται κάποιο plug-in Προγραμματισμός ιστοσελίδων 4

Πλεονεκτήματα - Μειονεκτήματα Πλεονεκτήματα: Τοπική εκτέλεση δεν απαιτείται αλληλεπίδραση με τον Server Διαδραστικές και καλαίσθητες διαδικτυακές εφαρμογές Η λογική εκτελείται στον client Οικονομία σε hardware στον Server Μειονεκτήματα: Η λογική εκτελείται στον browser Μεγαλύτερες απαιτήσεις σε hardware στον Client Προβλήματα συμβατότητας (από browser σε browser) Διαφορετικός JavaScript Interpreter Ο JavaScript κώδικας δεν μπορεί να έχει πρόσβαση στα τοπικά αρχεία του Client Προγραμματισμός ιστοσελίδων 5

Τοποθέτηση κώδικα JavaScript Μέσα στην ετικέτα <head> Τα scripts φορτώνονται μαζί με την head Χρήση τους από τα χαρακτηριστικά και από τα περιεχόμενα της ετικέτας <body> <html> <head> <script type="text/javascript"> Statements </script> </head> Μέσα στην ετικέτα <body> Τα scripts φορτώνονται διαδοχικά μαζί με τον κώδικα html Πριν χρησιμοποιηθεί ένα script πρέπει να έχει δηλωθεί <html> <head> </head> <body> <script type="text/javascript"> Statements </script> </body> Προγραμματισμός ιστοσελίδων 6

Τοποθέτηση κώδικα JavaScript Ταυτόχρονα μέσα στις ετικέτες <head> και <body> Συνδυασμός των παραπάνω scripts Σε εξωτερικό αρχείο Αρχείο με επέκταση.js που περιλαμβάνει μόνο scripts Χρήση του αρχείου από πολλές σελίδες του site <head> <script type="text/javascript" src= filename.js"></script> </head> Προγραμματισμός ιστοσελίδων 7

Μεταβλητές Χρήση για προσωρινή αποθήκευση τιμών και δεδομένων στην μνήμη Ονόματα μεταβλητών Μπορούν να περιλαμβάνουν αριθμούς, γράμματα και κάτω παύλες (_). Δεν μπορούν να περιέχουν κενά ή άλλους ειδικούς χαρακτήρες Ο πρώτος χαρακτήρας μπορεί να είναι γράμμα ή ( _ ) Δεν μπορούν να χρησιμοποιηθούν δεσμευμένες λέξεις της JavaScript Σωστά: totalnumber, _totaln, t123_p Λάθος: 123_p, total Number, #Total, return Τα ονόματα μεταβλητών είναι case sensitive π.χ. totalnumber και totalnumber διαφορετικές μεταβλητές Προγραμματισμός ιστοσελίδων 8

Δεσμευμένες λέξεις της JavaScript Λέξεις κλειδιά (keywords) της JavaScript Λέξεις κλειδιά (keywords) της JavaScript που έχουν δευσμευθεί άλλά δεν χρησιμοποιούνται Προγραμματισμός ιστοσελίδων 9

Δήλωση μεταβλητών Οι δηλώσεις ερωτηματικό (;) της JavaScript διαχωρίζονται με ελληνικό Πολλές δηλώσεις σε μία γραμμή: απαιτείται Μια δήλωση ανά γραμμή: μπορεί και να παραληφθεί Δήλωση γίνεται με τη δεσμευμένη λέξη var var totalnumber; var _ename; Μαζί με τη δήλωση μπορεί να γίνει και ανάθεση τιμής var totalnumber = 10; var _ename = Maria ; H δεσμευμένη λέξη var μπορεί να παραληφθεί _ename = Maria ; Προγραμματισμός ιστοσελίδων 10

Τύποι μεταβλητών Αριθμοί Ακέραιοι (integer) Κινητής υποδιαστολής (floating) Λογικές τιμές (Boolean) True ή False True = 1, False = 0 Αλφαριθμητικά (Strings) Χρήση διπλών εισαγωγικών Hello from JavaScript course Αντικείμενα (Objects) Τιμή Null Μη ύπαρξη τιμής Null 0 Προγραμματισμός ιστοσελίδων 11

Αριθμητικοί τελεστές Τελεστής Περιγραφή Παράδειγμα Αποτέλεσμα + Πρόσθεση x=2 x+2 4 - Αφαίρεση x=2 5-x 3 * Πολλαπλασιασμός x=4 x*5 20 / Διαίρεση 15/5 5/2 3 2.5 % Υπόλοιπο διαίρεσης 5%2 10%8 10%2 1 2 0 ++ Αύξηση x=5 x++ x=6 -- Μείωση x=5 x-- x=4 Προγραμματισμός ιστοσελίδων 12

Τελεστές ανάθεσης Τελεστής = Παράδειγμα x=y Ισοδύναμο με x=y += x+=y x=x+y -= x-=y x=x-y *= x*=y x=x*y /= x/=y x=x/y %= x%=y x=x%y Προγραμματισμός ιστοσελίδων 13

Τελεστές σύγκρισης Τελεστής Περιγραφή Παράδειγμα == Ισότητα 5==8 επιστρέφει false!= Ανισότητας 5!=8 επιστρέφει true > Μικρότερο 5>8 επιστρέφει false < Μεγαλύτερο 5<8 επιστρέφει true >= Μεγαλύτερο ή ίσο 5>=8 επιστρέφει false <= Μικρότερο ή ίσο 5<=8 επιστρέφει true Προγραμματισμός ιστοσελίδων 14

Λογικοί τελεστές Τελεστής && Περιγραφή Λογικό AND Παράδειγμα x=6 y=3 (x < 10 && y > 1) επιστρέφει true Λογικό OR x=6 y=3 (x==5 y==5) επιστρέφει false! Λογικό NOT x=6 y=3 x!= y επιστρέφει true Προγραμματισμός ιστοσελίδων 15

Σχόλια Μιας γραμμής Χρήση // <script type="text/javascript"> //Welcome message var name = "Welcome to JavaScript course"; document.write(name); </script> Πολλών γραμμών Χρήση /* */ <script type="text/javascript"> /* Welcome message to visitors */ var name = "Welcome to JavaScript course"; document.write(name); </script> Προγραμματισμός ιστοσελίδων 16

Μέθοδοι Η Javascript παρέχει έτοιμες (built-in) συναρτήσεις που ονομάζονται μέθοδοι Παράδειγμα: document.write, alert. Η Javascript είναι case sensitive Σωστή κλήση μεθόδου: document.write Λανθασμένη κλήση μεθόδου: Document.Write Προγραμματισμός ιστοσελίδων 17

Μέθοδοι εκτύπωσης στην οθόνη Μέθοδος document.write <script type="text/javascript"> document.write("welcome to JavaScript course"); </script> Μέθοδος document.writeln <script type="text/javascript"> document.writeln("hello visitor"); document.writeln("welcome to JavaScript course"); </script> Προγραμματισμός ιστοσελίδων 18

Μέθοδοι εκτύπωσης στην οθόνη Χρήση HTML μέσα στη JavaScript <script type="text/javascript"> document.write("hello visitor<br>") document.write("welcome to JavaScript course") </script> Χρήση JavaScript μέσα στην HTML <h3> <script type="text/javascript"> document.write("hello visitor<br>") document.write("welcome to JavaScript course") </script> </h3> Προγραμματισμός ιστοσελίδων 19

Pop-up μηνύματα Η JavaScript υποστηρίζει τριών ειδών pop-up μηνύματα (boxes) Alert box Confirm box Prompt box Alert box Χρησιμοποιείται (συνήθως) όταν θέλουμε να επιβεβαιώσουμε ότι ο χρήστης «θα διαβάσει» ένα μήνυμα Στο Alert box εμφανίζεται: το μήνυμα που θέλουμε να δει ο χρήστης και ένα «κουμπί ΟΚ», το οποίο θα πρέπει να πατήσει ο χρήστης για να συνεχίσει... Σύνταξη: alert( text"); Προγραμματισμός ιστοσελίδων 20

Alert Box <html> <head> <script type="text/javascript"> function displayalertbox() { alert("i am an alert box!!") } </script> </head> <body> <form> <input type="button" onclick="displayalertbox()" value="display alert box"> </form> </body> </html> Προγραμματισμός ιστοσελίδων 21

Pop-up μηνύματα Confirm box Χρησιμοποιείται (συνήθως) όταν θέλουμε ο χρήστης να επιβεβαιώσει ή να δεχτεί κάτι Στο Confirm box εμφανίζεται: το μήνυμα ένα «κουμπί ΟΚ» ένα «κουμπί CANCEL» Αν ο χρήστης πατήσει ΟΚ, τότε το Confirm Box επιστρέφει TRUE Αν ο χρήστης πατήσει CANCEL, τότε το Confirm Box επιστρέφει FALSE Σύνταξη: confirm("text"); Προγραμματισμός ιστοσελίδων 22

Confirm Box <html> <head> <script type="text/javascript"> function displayconfirmbox() { var result=confirm("press on button") if (result==true) { document.write("you pressed the OK button!") } else { document.write("you pressed the Cancel button!") } } </script> </head> <body> <form> <input type="button" onclick="displayconfirmbox()" value="display a confirm box"> </form> </body> </html> Προγραμματισμός ιστοσελίδων 23

Pop-up μηνύματα Prompt box Χρησιμοποιείται (συνήθως) όταν θέλουμε ο χρήστης να εισάγει κάποια στοιχεία/δεδομένα Στο Confirm box εμφανίζεται: το μήνυμα ένα πλαίσιο, στο οποίο ο χρήστης μπορεί να εισάγει δεδομένα (δίνεται η δυνατότητα να υπάρχει και προκαθορισμένη τιμή) ένα «κουμπί ΟΚ» ένα «κουμπί CANCEL» Αν ο χρήστης πατήσει ΟΚ, τότε το Confirm Box επιστρέφει την τιμή που εισήγαγε ο χρήστης Αν ο χρήστης πατήσει CANCEL, τότε το Confirm Box επιστρέφει NULL Σύνταξη: prompt("text","defaultvalue"); Προγραμματισμός ιστοσελίδων 24

Prompt box <html> <head> <script type="text/javascript"> function displaypromptbox() { var name=prompt("please enter your name","") if (name!=null && name!="") { document.write("hello " + name + ", welcome to JavaScript course.") } } </script> </head> <body> <form> <input type="button" onclick="displaypromptbox()" value="display a prompt box"> </form> </body> </html> Προγραμματισμός ιστοσελίδων 25

Μετατροπή αλφαριθμητικών σε αριθμούς Όλα τα δεδομένα εισόδου (π.χ. φόρμες, prompt boxes) αρχικά έχουν την μορφή αλφαριθμητικών (String) Αν σκοπεύουμε να τα χρησιμοποιήσουμε στη συνέχεια ως αριθμούς (π.χ. για να εκτελέσουμε πράξεις) πρέπει να μετατραπούν σε αριθμούς Η μέθοδος parseint() μετατρέπει μια αλφαριθμητική τιμή σε ακέραια τιμή. Η μέθοδος parsefloat() μετατρέπει μια αλφαριθμητική τιμή σε τιμή κινητής υποδιαστολής. Προγραμματισμός ιστοσελίδων 26

Μέθοδος parseint() <html> <head> <script type="text/javascript"> function disp_prompt() { var total var num1 = parseint(prompt("please enter first number","0")) var num2 = parseint(prompt("please enter second number","0")) total = num1 + num2 document.write(num1 + " + " + num2 + " = " + total) } </script> </head> <body> <form> <input type="button" onclick="disp_prompt()" value="add two numbers"> </form> </body> Προγραμματισμός ιστοσελίδων 27

Μέθοδος parseint() Μη χρήση του parseint(): Προγραμματισμός ιστοσελίδων 28

Δηλώσεις υπό συνθήκη Οι δηλώσεις υπό συνθήκη (conditional statements) χρησιμοποιούνται για την επιλογή κατάλληλης ενέργειας βάση συγκεκριμένων συνθηκών Η JavaScript προσφέρει τριών τύπων δηλώσεις υπό συνθήκη if statement: ένα τμήμα κώδικα εκτελείται όταν η συνθήκη είναι αληθής if else statement: υπάρχουν δύο τμήματα κώδικα που εκτελούνται αν η συνθήκη είναι αληθής ή ψευδής αντίστοιχα switch.. case statement: επιλογή ανάμεσα σε ένα η περισσότερα τμήματα κώδικα Προγραμματισμός ιστοσελίδων 29

Δήλωση If Σύνταξη if (συνθήκη) {κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής } Παράδειγμα <script type= text/javascript > var d=new Date() var time=d.gethours() if (time<10) {document.write( <b>good morning</b> )} </script> Προγραμματισμός ιστοσελίδων 30

Δήλωση If.else Σύνταξη if (συνθήκη) {κώδικας που θα εκτελεστεί αν η συνθήκη είναι αληθής } else {κώδικας που θα εκτελεστεί αν η συνθήκη είναι ψευδής } Παράδειγμα <script type= text/javascript > var num1 = prompt ("Enter a number", "0") var balance = num1%2 if (balance == 0) document.write(num1 + " is EVEN") else document.write(num1 + " is ODD") </script> Προγραμματισμός ιστοσελίδων 31

Δήλωση switch Σύνταξη switch(n) { case 1: εκτέλεση τμήμα κώδικα 1 break case 2: εκτέλεση τμήμα κώδικα 2 break default: κώδικας που θα εκετελεστεί αν το n είναι διαφορετικό από case 1 και 2 } Προγραμματισμός ιστοσελίδων 32

Δήλωση switch <html> <head> <script type="text/javascript"> function disp_prompt() { var day = prompt("please enter a letter between A and E","A") switch(day) { case "A" : case "D" : document.write("sunday") break case "B" : case "E" : document.write("monday") break case "C" : document.write("tuesday") break default : document.write("invalid Entry") break } } </script> </head> <body> <form> <input type="button" onclick="disp_prompt()" value="day of Week"> </form> </body> </html> Προγραμματισμός ιστοσελίδων 33

Βρόχοι Οι βρόχοι χρησιμοποιούνται για την επαναληπτική εκτέλεση ενός τμήματος κώδικα για κάποιον αριθμό επαναλήψεων Η JavaScript χρησιμοποιεί τριών τύπων βρόχων: for: το τμήμα του κώδικα επαναλαμβάνεται για ένα προκαθορισμένο αριθμό επαναλήψεων while: το τμήμα του κώδικα επαναλαμβάνεται για όσο χρονικό διάστημα η συνθήκη είναι αληθής. do.. while: το τμήμα του κώδικα εκτελείτε την πρώτη φορά και επαναλαμβάνεται για όσο χρονικό διάστημα η συνθήκη είναι αληθής. Προγραμματισμός ιστοσελίδων 34

Βρόχος for Ο βρόχος for χρησιμοποιείται όταν είναι γνωστός εκ των προτέρων ο αριθμός των επαναλήψεων for (var=startvalue ; var<=endvalue ; var=var+increment) { τμήμα κώδικα που θα εκτελεστεί} Παράδειγμα for(num = 1; num < 5; num++) { document.write("<p>" + num + ". Welcome to JavaScript course") } Προγραμματισμός ιστοσελίδων 35

Βρόχος while Ο βρόχος while εκτελείται για όσο χρόνο μια συνθήκη παραμένει αληθής while (συνθήκη) { τμήμα κώδικα που θα εκτελεστεί } Παράδειγμα var num = 1; while (num<5) { document.write("<p>" + num + ". Welcome to JavaScript course") num++ } Προγραμματισμός ιστοσελίδων 36

Βρόχος do while Ο βρόχος do while πραγματοποιεί πάντοτε μια επανάληψη και μετά εκτελείται για όσο χρόνο μια συνθήκη παραμένει αληθής Παραλλαγή του βρόχου while do { τμήμα κώδικα που θα εκτελεστεί } while (συνθήκη) Παράδειγμα var num = 4; do { document.write("<p>" + num + " Iteration of do while loop") num-- } while (num>0) Προγραμματισμός ιστοσελίδων 37

Συναρτήσεις Με τη χρήση των συναρτήσεων επιτυγχάνουμε επαναχρησιμοποίηση του κώδικα αποφυγή εκτέλεσης του κώδικα κατά τη φόρτωσης μιας σελίδας Ο κώδικας που περικλείεται από τη συνάρτηση θα εκτελεστεί είτε όταν συμβεί κάποιο γεγονός είτε όταν γίνει κλήση της συνάρτησης αυτής Οι συναρτήσεις μπορούν να οριστούν στην ετικέτα <head> στην ετικέτα <body> σε εξωτερικό αρχείο (.js) προτείνεται η δήλωση των συναρτήσεων είτε στην ετικέτα <head> είτε σε εξωτερικό αρχείο, ώστε να διασφαλιστεί το γεγονός ότι η ίδια η συνάρτηση θα έχει διαβαστεί και θα έχει «φορτωθεί» από τον browser, πριν την κλήση της. Κλήση μιας συνάρτησης μπορεί να γίνει από οποιοδήποτε σημείο της ιστοσελίδας Προγραμματισμός ιστοσελίδων 38

Δήλωση συναρτήσεων function myfunction παράμετροςn) (παράμετρος1, παράμετρος2,..., { τμήμα κώδικα που εκτελείται } return result //προαιρετική επιστροφή τιμής Μια συνάρτηση μπορεί να έχει από μηδέν μέχρι Ν παραμέτρους αν δεν έχει παραμέτρους η παρένθεση διατηρείται αλλά είναι κενή function myfunction() Μπορεί να επιστρέφει ή να μην επιστρέφει κάποια τιμή αν επιστρέφει τιμή τότε χρησιμοποιείται η δεσμευμένη λέξη return μαζί με την τιμή που θα επιστραφεί Προγραμματισμός ιστοσελίδων 39

Κλήση συναρτήσεων myfunction (παράμετρος1, παράμετρος2,..., παράμετροςn); Μια συνάρτηση καλείται με τον αριθμό των παραμέτρων που καθορίζονται στη δήλωσή της Αν δεν απαιτούνται παράμετροι τότε η παρένθεση διατηρείται αλλά είναι κενή myfunction() Οι παράμετροι πρέπει να στέλνονται σε μια συνάρτηση με τη σειρά με την οποία καθορίζονται στην δήλωση της συνάρτησης Ο κώδικας που περιέχεται σε μια συνάρτηση δεν εκτελείται αν δεν κληθεί η συνάρτηση Προγραμματισμός ιστοσελίδων 40

Συναρτήσεις Δήλωση συνάρτησης: Κλήση συνάρτησης: function hellofunction(message) { alert(message) } hellofunction( Hello, have a nice day! ); Δήλωση συνάρτησης: Κλήση συνάρτησης: function hellofunction() { return ("Hello, have a nice day!") } message = hellofunction(); Προγραμματισμός ιστοσελίδων 41

Συναρτήσεις Δήλωση συνάρτησης: Κλήση συνάρτησης: function subtraction(a,b) { temp = a b; return temp; } result = subtraction(10,8); Δήλωση συνάρτησης: Κλήση συνάρτησης: function subtraction(a,b) { temp = a b; alert(temp); } subtraction(10,8); Προγραμματισμός ιστοσελίδων 42

Συναρτήσεις <html> <head> <script type="text/javascript"> function total(numbera,numberb) { return numbera + numberb } </script> </head> <body> <h1 align="center"> <script type="text/javascript"> document.write(total(12,17)) </script> </h1> </body> </html> Προγραμματισμός ιστοσελίδων 43

Πίνακες Χρησιμοποίηση του αντικειμένου δημιουργία και χρήση πινάκων Array για την Αρχικοποίηση πίνακα Mε ταυτόχρονη εκχώρηση τιμών fruit = new Array( orange","pineapple","guava") Xωρίς ταυτόχρονη εκχώρηση τιμών fruit = new Array(3); fruit[0] = orange ; fruit[1] = pineapple ; fruit[2] = guava ; Προσπέλαση στοιχείων του πίνακα Η αρίθμηση των στοιχείων του πίνακα ξεκινάει από το 0 myfruit = fruit[1] // Το δεύτερο στοιχείο του πίνακα Προγραμματισμός ιστοσελίδων 44

Πίνακες Ιδιότητες πινάκων length επιστρέφει το μέγεθος του πίνακα Μέθοδοι πινάκων join() επιστρέφει ένα αλφαριθμητικό (String) που περιέχει όλα τα στοιχεία του πίνακα reverse() επιστρέφει με ανάποδη σειρά τα στοιχεία ενός πίνακα sort() ταξινομεί τα στοιχεία ενός πίνακα Προγραμματισμός ιστοσελίδων 45

Πίνακες <script type="text/javascript"> var myfriends = new Array(3) myfriends[0] = "Nick" myfriends[1] = "Jim" myfriends[2] = "Maria" document.write(myfriends.length + "<br>") document.write(myfriends.join(".") + "<br>") document.write(myfriends.reverse() + "<br>") document.write(myfriends.sort() + "<br>") </script> Προγραμματισμός ιστοσελίδων 46