ΕΠΛ 012 JavaScripts
Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές & αναφορές), methods παρόµοια µε την Java και C/C++: τελεστές, εντολές έλεγχου και σύνταξη
Πού και πώς µπαίνει η Javascript Μεταξύ <head> </head> και <body> </body> Εισαγωγή µε block scripting: <SCRIPT>, </ SCRIPT> <SCRIPT Language= JavaScript > document.write ( Hello, today is + Date ()); <! εµφάνισε> </SCRIPT > <SCRIPT Language= JavaScript Src= com_function.js > </ SCRIPT > Ορισµένα script µπορούν να ενσωµατωθούν στις HTML ετικέτες <SELECT name=country onchange= jmp(url) > <A HRef= javascript:new_window(); >New Win</A>
<HTML> <HEAD> Παράδειγµα <SCRIPT language=javascript> <!-- function change_image() {document.icon.src = "images/king-cat.jpeg";} function normal_image() {document.icon.src = "images/king-h.jpeg";} --> </SCRIPT> <! εµφάνισε> </HEAD> <BODY> <H3>ΑΛΛΑΞΤΕ ΤΗΝ ΕΙΚΟΝΑ ΠΕΡΝΩΝΤΑΣ ΤΟ ΠΟΝΤΙΚΙ ΑΠΟ ΠΑΝΩ ΤΗΣ </H3> <A onmouseout="normal_image(); window.status=''; return true" onmouseover="change_image(); window.status='image will change'; return true"> <IMG alt="click here!" border=0 name=icon src="images/king-h.jpeg"></a> </BODY> </HTML>
Σχόλια και Απόκρυψη κώδικα Σχόλια σε JS : -- single-line /* */ multi-line Απόκρυψη: Χρήση σχολίων HTML: <!--, --> <SCRIPT Language= JavaScript > <!-- document.write ( Hello, today is + Date ()); --> </SCRIPT >
Τύποι εδοµένων (Data Types) Αριθµητικοί (Numeric) Σειρά χαρακτήρων (String) Λογικές τιµές (Boolean) true (αληθής) ή false (ψευδής) NULL κενή τιµή
Ακέραιοι αριθµοί: Αριθµητικοί Τύποι Τρία συστήµατα απεικόνισης/βασής εκαδικό (µε βάση το 10): 0-9 χωρίς το 0 στην αρχή Π.χ., 3, 27, 103 εκαεξαδικοί (µε βάση το 16): 0-9, A-F και εισαγάγετε µε 0x Π.χ., 0xF, 0x27, 0x1110F Οκταδικοί (µε βάση το 8): 0-7 και εισαγάγετε µε 0 03, 027, 0103 Πραγµατικοί Αριθµοί: Η γραφή µπορεί να είναι δεκαδική ή επιστηµονική (µε εκθέτη) Π.χ., 3.1415, -3.1E12,.1e12, 2E-12
Σειρά χαρακτήρων Οι αλφαριθµητικές τιµές από έναν ή περισσότερους χαρακτήρες µέσα σε απλά (',') ή διπλά (",") εισαγωγικά Π.χ., 'γεια' "γεια" "γεια σου " "Τι!, τι Ώρα είναι? " Mixing numbers and strings (parseint, parsefloat)
Μεταβλητές Μεταβλητές (variables) Αρχίζουν µε χαρακτήρα (λατινικό γράµµα ή αριθµό) ή _ (υπογεγραµµένη) όχι σηµεία στίξεως κλπ. (punctuation) όχι δεσµευµένες λέξεις Π.χ., _x, par13, answer, max_number JS είναι case sensitive and line sensitive
25 εσµευµένες Λέξεις break case Catch continue default delete do else finally for function if in Instanceof New Return Switch This Throw Try Typeof Var void While with
Εκφράσεις Ανάθεσης No typing (dynamic typing) εν χρειάζεται δήλωση τύπου πριν τη χρήση var x = 5; x = 5.5; x="γεια σου..." Οι τύποι µετασχηµατίζονται όταν το πρόγραµµα τρέχει, ανάλογα µε την τιµή που τους δίνεται δύο είδη εκφράσεις (statement) statement): α) αναθέτουν τιµές σε µία µεταβλητή, π.χ., z= 13 β) απλά έχουν µία τιµή, π.χ., 9+4
Εκφράσεις Συνθήκης Σύντοµη σύνταξη: ( Συνθήκη )? τιµή1 : τιµή2 Γενική σύνταξη: if ( Συνθήκη ) -- Συνθήκη αληθή τιµή1 else -- Συνθήκη ψευδή τιµή2 status=(age>=18)? "ενήλικος" : "ανήλικος" gender=(code== woman")? "female" : "male"
Αριθµητικοί Τελεστές +, -, *, / (βασικές πράξεις) % (υπόλοιπο διαίρεσης): x%y ++ (αύξησης κατά 1): x++, ++x -- (µείωσης κατά 1) : x-- --, --x - (αλλαγή πρόσηµου): -x
Λογικοί Τελεστές X NOT (!) OR ( ) TRUE TRUE TRUE TRUE TRUE TRUE TRUE AND (&&) TRUE TRUE TRUE
Τελεστές Σύγκρισης Ισότητα ( == ): εκφράση1 == εκφράση2 Ανισότητα (!= ): εκφράση1!= εκφράση2 Μεγαλύτερο ( > ): εκφράση1 > εκφράση2 Μεγαλύτερο ή ίσο ( >= ): εκφράση1 >= εκφράση2 Μικρότερο ( < ): εκφράση1 < εκφράση2 Μικρότερο ή ίσο ( <= ): εκφράση1 <= εκφράση2
Τελεστές Σειράς Γραµµάτων Πρόσθεση/Αλληλουχία ( + ) (concatenation) string1 + string2 Ε ιστρέφει το αλφαριθµητικό ου ροκύ τει α ό την ένωση του ρώτου ορίσµατος µε το δεύτερο. Πρόσθεση µε ανάθεση ( += ) string1 += string2
Συναρτήσεις function όνοµα ( [ παράµετρος ] [, παράµετρος ] [..., παράµετρος ] ) { } έκφραση [ ; έκφραση ] [...; έκφραση ] function myfunction(message) { document.write("το µήνυµα είναι: <BR>"); document.write(message message + "<BR>"); }
Arrays var Students = new Array (36); Students (0) = "AA"; for (var s=0; s< Students.length; s++) document.writeln (Students (s));