JavaScript

1

Giáo trình JavaScript ***
CH CH NG 1 L I NÓI U ................................ ................................ ................................ ........... 4 NG 2 NH P MÔN JAVASCRIPT ................................ ................................ ....................... 5 2.1.Nhúng JavaScript vào file HTML ................................ ................................ .................. 5 2.3. Th <NOScript> và </NOSCRIPT> ................................ ................................ ............. 6 2.3. Hi n th m t dòng text ................................ ................................ ................................ . 7 2.4. Giao ti p v i ng i s d ng................................ ................................ ........................ 9 2.5. i m l i các l nh và m r ng ................................ ................................ .................... 11 NG 3 BI N TRONG JAVASCRIPT ................................ ................................ .................. 13 3.1. Bi n và phân lo I bi n................................ ................................ ............................... 13 3.2. Bi u di n t t trong JavaScript ................................ ................................ ................ 13 3.3. Ki u d li u................................ ................................ ................................ ............... 13 1.1.1. KI u nguyên (Interger) ................................ ................................ ...................... 14 1.1.2. Ki u d u ph y ng (Floating Point) ................................ ................................ . 14 1.1.3. Ki u logic (Boolean)................................ ................................ .......................... 15 1.1.4. Ki u chu i (String) ................................ ................................ ............................ 15 XÂY D NG CÁC BI U TH C TRONG JAVASCRIPT ................................ ................. 16

CH

2.

NH NGH A VÀ PHÂN LO I BI U TH C ................................ ................................ ................ 16 CÁC TOÁN T (OPERATOR) ................................ ................................ ................................ ... 16 2.1.1. Gán ................................ ................................ ................................ .................. 16 2.1.2. So sánh ................................ ................................ ................................ ............ 16 2.1.3. S h c ................................ ................................ ................................ .............. 17 2.1.4. Chu i................................ ................................ ................................ .................. 1 2.1.5. Logic ................................ ................................ ................................ ................ 17 2.1.6. Bitwise ................................ ................................ ................................ .............. 18 BÀI T P ................................ ................................ ................................ ................................ .... 18 2.1.7. Câu h i................................ ................................ ................................ ............. 18 2.1.8. Tr l i ................................ ................................ ................................ ............... 19 3. CÁC L NH ................................ ................................ ................................ ................... 20 CÂU L NH I U KI N ................................ ................................ ................................ .............. 20 CÂU L NH L P................................ ................................ ................................ ......................... 20 3.1.1. Vòng l p for ................................ ................................ ................................ ...... 21 3.1.2. while ................................ ................................ ................................ ................. 22 3.1.3. Break................................ ................................ ................................ ................ 22 3.1.4. continue ................................ ................................ ................................ ........... 23 CÁC CÂU L NH THAO TÁC TRÊN IT NG ................................ ................................ ...... 23 3.1.5. for...in ................................ ................................ ................................ ............... 23 3.1.6. new ................................ ................................ ................................ .................. 24 3.1.7. this ................................ ................................ ................................ ................... 26 3.1.8. with ................................ ................................ ................................ .................. 26 CÁC HÀM (FUNCTIONS) ................................ ................................ ................................ .......... 27 CÁC HÀM CÓ S N ................................ ................................ ................................ ..................... 1 3.1.9. eval ................................ ................................ ................................ .................. 29

JavaScript

2

3.1.10. parseInt ................................ ................................ ................................ ............ 30 3.1.11. parseFloat ................................ ................................ ................................ ........ 31 M NG (ARRAY) ................................ ................................ ................................ ........................ 32 S KI N ................................ ................................ ................................ ................................ ... 33 BÀI T P ................................ ................................ ................................ ................................ .... 37 3.1.12. Câu h i................................ ................................ ................................ ............. 37 3.1.13. Tr l i ................................ ................................ ................................ ............... 38 4. IT IT CÁC IT NG TRONG JAVASCRIPT ................................ ................................ .... 41 NG NAVIGATOR ................................ ................................ ................................ ........ 43 NG WINDOW ................................ ................................ ................................ ............. 44 4.1.1. Các thu c tính ................................ ................................ ................................ .. 44 4.1.2. Các ph ng th c ................................ ................................ ............................. 44 4.1.3. Các ch ng trình x lý s ki n................................ ................................ ......... 46 IT NG LOCATION ................................ ................................ ................................ ........... 46 IT NG FRAME ................................ ................................ ................................ ................ 47 4.1.4. Các thu c tính ................................ ................................ ................................ .. 47 4.1.5. Các ph ng th c ................................ ................................ ............................. 47 4.1.6. S d ng Frame ................................ ................................ ................................ 47 IT NG DOCUMENT ................................ ................................ ................................ ......... 49 4.1.7. Các thu c tính ................................ ................................ ................................ .. 50 4.1.8. Các ph ng th c ................................ ................................ ............................. 50 IT NG ANCHORS ................................ ................................ ................................ ........... 50 IT NG FORMS ................................ ................................ ................................ ................ 50 4.1.9. Các thu c tính ................................ ................................ ................................ .. 51 4.1.10. Các ph ng th c ................................ ................................ ............................. 51 4.1.11. Các ch ng trình x lý s ki n................................ ................................ ......... 51 IT NG HISTORY ................................ ................................ ................................ ............. 51 4.1.12. Các thu c tính ................................ ................................ ................................ .. 51 4.1.13. Các ph ng th c ................................ ................................ ............................. 51 IT NG LINKS ................................ ................................ ................................ ................... 52 4.1.14. Các thu c tính ................................ ................................ ................................ .. 52 4.1.15. Các ch ng trình x lý s ki n................................ ................................ ......... 52 IT NG MATH ................................ ................................ ................................ ................... 52 4.1.16. Các thu c tính ................................ ................................ ................................ .. 52 4.1.17. Các ph ng th c ................................ ................................ ............................. 53 IT NG DATE ................................ ................................ ................................ ................... 53 4.1.18. Các ph ng th c ................................ ................................ ............................. 53 IT NG STRING................................ ................................ ................................ ................ 54 4.1.19. Các ph ng th c ................................ ................................ ............................. 54 CÁC PH N T C A IT NG FORM ................................ ................................ ................. 55 4.1.20. Thu c tính type ................................ ................................ ................................ . 56 4.1.21. Ph n t button................................ ................................ ................................ .. 56 4.1.22. Ph n t checkbox................................ ................................ ............................. 57 4.1.23. Ph n t File Upload ................................ ................................ .......................... 59 4.1.24. Ph n t hidden ................................ ................................ ................................ . 59 4.1.25. Ph n t Password ................................ ................................ ............................ 59 4.1.26. Ph n t radio................................ ................................ ................................ .... 59 4.1.27. Ph n t reset................................ ................................ ................................ .... 61

JavaScript 4.1.28. 5.

3 Ph n t select ................................ ................................ ................................ .. 62 IT NG (OBJECT MODEL) ................................ ................................ .. 71

MÔ HÌNH

IT NG VÀ THU C TÍNH ................................ ................................ ................................ .. 71 T O CÁC IT NG M I ................................ ................................ ................................ ...... 71 5.1.1. S d ng kh i t o i t ng ................................ ................................ .............. 72 5.1.2. S d ng m t hàm xây d ng(Constructor Function)................................ ........... 73 5.1.3. L p m c l c cho các thu c tính c a i t ng ................................ .................. 74 5.1.4. nh ngh a thêm các thu c tính cho m t ki u i t ng ................................ .... 74 5.1.5. nh ngh a các cách th c ................................ ................................ ................. 74 5.1.6. S d ng cho các tham chi u i t ng (Object References) ............................ 75 5.1.7. Xoá i t ng ................................ ................................ ................................ .. 76 6. 7. B NG T NG K T CÁC T KHOÁ ................................ ................................ .............. 77 T NG K T ................................ ................................ ................................ ................... 78

Client s c trang ó t u n cu i. . Nó không c biên d ch mà c trình duy t di n d ch. Ngoài ra JavaScript gi ng Java khía c nh an ninh: JavaScript không th c và vi t vào file c a ng i dùng.JavaScript 4 CH NG 1 L I NÓI U V i HTML and Microsoft FrontPage b n ã bi t cách t o ra trang Web .tuy nhiên ch m i m c bi u di n thông tin ch ch a ph i là các trang Web ng có kh n ng áp ng các s ki n t phía ng i dùng. bao g m c HTML và các câu l nh JavaScript qua m ng t i client. Hãng Netscape ã a ra ngôn ng script có tên là LiveScript th c hi n ch c n ng này. nh ng chúng v n là hai ngôn ng riêng bi t. Gi ng v i HTML và Java. Khi trình duy t yêu c u m t trang. có ngh a là bao g m nhi u ki u i t ng. JavaScript là ngôn ng d i d ng script có th g n v i các file HTML. Nó có th ch y trên b t k h i u hành nào có trình duy t h tr JavaScript. Sau ó ngôn ng này c i tên thành JavaScript t n d ng tính i chúng c a ngôn ng l p trình Java. M c ích c a ph n này là gi i thi u v ngôn ng l p trình JavaScript b n có th vi t các script vào file HTML c a mình. Tuy v y JavaScript không là ngôn ng h ng i t ng nh C++ hay Java do không h tr các l p hay tính th a k . JavaScript có th áp ng các s ki n nh t i hay lo i b các form. server s g i y n i dung c a trang ó. JavaScript là ngôn ng d a trên i t ng. Ví d b n có th ki m tra các giá tr thông tin mà ng i s d ng a vào mà không c n n b t c m t quá trình truy n trên m ng nào. Trang HTML v i JavaScript c nhúng s ki m tra các giá tr c a vào và s thông báo v i ng i s d ng khi giá tr a vào là không h p l . M c dù có nh ng i m t ng ng gi a Java và JavaScript. ví d i t ng Math v i t t c các ch c n ng toán h c. Chính vì v y b n có th d dàng h c JavaScript qua ví d b i vì b n có th th y cách s d ng JavaScript trên các trang Web. Các câu l nh JavaScript c nhúng trong m t trang HTML có th tr l i cho các s ki n c a ng i s d ng nh kích chu t. JavaScript c thi t k c l p v i h i u hành. Kh n n này cho g phép JavaScript tr thành m t ngôn ng script ng. trình duy t c JavaScript d i d ng mã ngu n. hi n th các k t qu c a HTML và x lý các câu l nh JavaScript khi nào chúng xu t hi n. Không gi ng Java ph i chuy n thành các mã d biên d ch. Các trình duy t web nh Nescape Navigator 2.0 tr i có th hi n th nh ng câu l nh JavaScript c nhúng vào trang HTML. nh p vào m t form và i u h ng trang.

N u t trong ph n <HEAD>. V i ch ng trình vi t b ng JavaScript b n s d ng cú pháp sau : <SCRIPT LANGUAGE=´JavaScript´> // INSERT ALL JavaScript HERE </SCRIPT> Chú ý: Ghi chú không c t trong c p th <. Các ví d trong ch ng này không ch a c i m n c a JavaScript mã có th d hi u h n.. S d ng m t file ngu n JavaScript Thu c tính SRC c a th <SCRIPT> cho phép b n ch rõ file ngu n JavaScript cs d ng (dùng ph ng pháp này hay h n nhúng tr c ti p m t o n l nh JavaScript vào trang HTML).S d ng th SCRIPT Script c a vào file HTML b ng cách s d ng c p th <SCRIPT> và <\SCRIPT>. 2. Thu c tính duy nh t c nh ngh a hi n th i cho th <SCRIPT> là ³LANGUAGE=³ dùng xác nh ngôn ng script c s d ng.</ SCRIPT> và nhúng m t file ngu n JavaScript là c s d ng nhi u h n c .1. các trình duy t c không h tr cho JavaScript có th c c nó nh trong ví d sau ây: <SCRIPT LANGUAGE=´JavaScript´> <!-.. . Các th <SCRIPT> có th xu t hi n trong ph n <HEAD> hay <BODY> c a file HTML.JavaScript 5 CH NG 2 NH P MÔN JAVASCRIPT 2.1.NHÚNG JAVASCRIPT VÀO FILE HTML B n có th nhúng JavaScript vào m t file HTML theo m t trong các cách sau ây: S d ng các câu l nh và các hàm trong c p th <SCRIPT> S d ng các file ngu n JavaScript S d ng m t bi u th c JavaScript làm giá tr c a m t thu c tính HTML S d ng th s ki n (event handlers) trong m t th HTML nào ó Trong ó.. 2. */. i m khác nhau gi a cú pháp vi t các ghi chú gi a HTML và JavaScript là cho phép b n n các mã JavaScript trong các ghi chú c a file HTML.2. s d ng c p th < SCRIPT>. Có hai giá tr c nh ngh a là "JavaScript" và "VBScript".From here the JavaScript code hidden // INSERT ALL JavaScript HERE // This is where the hidden ends --> </SCRIPT> Dòng cu i cùng c a script c n có d u // trình duy t không di n d ch dòng này d i d ng mã JavaScript. nó s c t i và s n sàng tr c khi ph n còn l i c a v n b n c t i. Cú pháp c a JavaScript t ng t cú pháp c a C nên có th s d ng // hay /* .1.1..và -> nh ghi chú trong file HTML.

ta thêm dòng sau vào file mime. n u trình duy t có h tr JavaScript thì o n mã trong c p th <NOSCRIPT> s c b qua.js ó t i ki u MIME phân nh xâu ó.write("Không tìm th y file JS a vào!"). Khi ó trình duy t s không hi u th <NOSCRIPT> và nó b l i.JavaScript 6 Cú pháp: <SCRIPT SRC="file_name. hàm bar có ch a xâu "left" n m trong m t c p d u nháy kép: function bar(widthPct){ document. Trong ví d sau.vn "> Các file JavaScript bên ngoài không c ch a b t k Chú ý th HTML nào.js"> . ví d : c nh rõ b ng a ch URL. Tuy nhiên. Do ó b n c n s d ng trình duy t Netscape Navigator t version 2.html"> Hãy kích chu t vào ây t i v phiên b n Netscape m i h n .write(" <HR ALIGN='LEFT' WIDTH="+widthPct+"%>") } type=application/x-javascript c uôi . TH <NOSCRIPT> VÀ </NOSCRIPT> C p th này dùng nh rõ n i dung thông báo cho ng i s d ng bi t trình duy t không h tr JavaScript. </SCRIPT> Thu c tính này r y h u d ng cho vi c chia s các hàm dùng chung cho nhi u trang khác nhau. tr l i ph n Header c a file HTML."> và </SCRIPT>: document. Các câu l nh JavaScript n m trong c p th <SCRIPT> và </SCRIPT> có ch a thu c tinh SRC tr khi nó có l i. Chúng ch c ch a các câu l nh Khi b n mu n ch ra m t xâu JavaScript và nh ngh a hàm. Ng c l i.com. ó là nh ng gì mà server g i phép script nh n ra xâu ký t ó..js t i ki u MIME application/x-javascript . sau ó kh i ng l i server: N u server không ánh x s t i file JavaScript c ch ra trong thu c tính SRC v không úng cách. ánh x uôi này vào ki u MIME.js. còn o n mã n m trong c p th này s c Navigator hi n th .. các liên k t ho c các ng d n <SCRIPT SRC=" http://cse.3. trích d n trong m t xâu khác c n Tên file c a các hàm JavaScript bên ngoài c n có uôi s d ng d u nháy n ( ' ) .. Ví d : <NOSCRIPT> <B> Trang này có s d ng JavaScript..types trong ng d n c u hình c a server. Navigator 2.netscape.com/comprd/mirror/index.. i u này cho application/x-javascript. và server s ph i ánh x uôi . i u này c ng có th x y ra n u ng i s d ng không s d ng JavaScript trong trình duy t c a mình b ng cách t t nó i trong h p Preferences/Advanced. Ví d b n mu n a dòng l nh sau vào gi a c p th <SCRIPT SRC=".0 tr i! <BR> <A HREF="http://home. Thu c tính SRC có th tuy t i.

c a vào dòng tham s . HI N TH M T DÒNG TEXT Trong h u h t các ngôn ng l p trình. m t trong nh ng kh n ng c s là hi n th ra màn hình m t dòng text. document.3. Trong JavaScript.0 tr hãy b t Preferences/Advanced/JavaScript lên </NOSCRIPT> 7 i mà v n c c dòng ch này thì Hình 2.JavaScript </A> </BR> N u b n ã s d ng trình duy t Netscape t 2. Trong ph n này. ta s h c cách th c write() và writeln() c a i t ng document.3: Minh ho th NOSCRIPT 2. ng i l p trình c ng có th i u khi n vi c xu t ra màn hình c a client m t dòng text tu n t trong file HTML. dòng text và các con s còn có th hi n th trong tr ng TEXT và TEXTAREA c a m t form.writeln('Test').property_name D li u mà cách th c dùng d : th c hi n công vi c c a nó document. Ngoài ra. JavaScript còn cho phép ng i l p trình sinh ra m t h p thông báo ho c xác nh n g m m t ho c hai nút. ví . Cách g i m t cách th c c a m t i t ng nh sau: object_name.write("Test"). i t ng document trong JavaScript c thi t k s n hai cách th c xu t m t dòng text ra màn hình client: write() và writeln(). JavaScript s xác nh i m mà nó s xu t ra trong file HTML và dòng text k t qu s c d ch nh các dòng HTML khác và hi n th trên trang. H n n a.

8 Ví d : Cách th c write() xu t ra th HTML <HTML> <HEAD> <TITLE>Ouputting Text</TITLE> </HEAD> <BODY> This text is plain..<BR> <B> <SCRIPT LANGUAGE="JavaScript"> <!-.write(". // STOP HIDING FROM OTHER BROWSERS --> . Hai cách th c này u cho phép xu t ra th HTML.HIDE FROM OTHER BROWSERS document.write("This text is bold. document."). document.writeln("Two.. // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </BODY> </HTML> Ví d : S khác nhau c a write() và writeln(): <PRE> <SCRIPT LANGUAGE="JavaScript"> <!-.JavaScript Cách th c write() xu t ra màn hình xâu Text nh ng không xu ng dòng.").write("Three ").").</B>"). còn cách th c writeln() sau khi vi t xong dòng Text t ng xu ng dòng. document.writeln("One.HIDE FROM OTHER BROWSERS document.

5: S khác nhau c a write() và writeln() 2.writeln() trong ph n tr c. prompt() t o ra m t h p h i tho i v i m t dòng thông báo do b n a vào. nh ng ngoài ra nó còn cung c p m t tr ng nh p d . N i dung c a h p h i tho i ph thu c vào trang HTML có ch a o n script mà không làm nh h ng n vi c xu t n i dung trang. Khi ó file s ch cho n khi ng i s d ng nh n vào nút OK r i m i ti p t c th c hi n Thông th ng. Ví d : alert("Nh n vào OK ti p t c").4.JavaScript </SCRIPT> </PRE> 9 Khi duy t s c k t qu : Hình 2. s d ng c cách th c này. JavaScript cung c p m t cách th c khác giao ti p v i ng i s d ng là promt(). Cách n gi n làm vi c ó là s d ng cách th c alert(). b n ph i a vào m t dòng text nh khi s d ng document.write() và document. cách th c alert() c s d ng trong các tr ng h p: Thông tin a và form không h p l K t qu sau khi tính toán không h p l Khi d ch v ch a s n sàng truy nh p d li u Tuy nhiên cách th c alert() m i ch cho phép thông báo v i ng i s d ng ch ch a th c s giao ti p v i ng i s d ng. GIAO TI P V I NG I S D NG JavaScript h tr kh n ng cho phép ng i l p trình t o ra m t h p h i tho i. T ng t nh alert().

Giá tr t cs c ghi trong bi n có tên là name. m t nút OK và m t nút Cancel Ch ng trình này s h i tên ng i dùng và sau ó s hi n th m t thông báo ng n s d ng tên m i a vào.write(³Hello ´ + name + ³ ! I hope you like JavaScript ´). </SCRIPT> </HEAD> <BODY> </BODY> </HTML> Khi duy t có k t qu : Hình2.html <HTML> <HEAD> <TITLE> JavaScript Exemple </TITLE> <SCRIPT LANGUAGE= ³JavaScript´> var name=window. Ví d : H p h i tho i g m m t dòng thông báo.1: Hi n th c a s nh p tên Ví d này hi n th d u nh c nh p vào tên v i ph ng th c window. Khi ó.write.JavaScript 10 li u vào.prompt. Ví d c l u vào file Hello. m t tr ng nh p d li u.prompt(³Hello! What¶s your name ?´. Bi n name c k t h p v i các chu i khác và c hi n th trong c a s c a trình duy t nh ph ng th c document.´´). document. Ng i s d ng có th nh p vào tr ng ó r i kích vào OK. ta có th x lý d li u do ng i s d ng v a a vào. .

2.writeln() alert() .2: Hi n th l i chào ng Bây gi b n ã có ý t ng v các ch c n ng có th ti p t c tìm hi u thêm v chính ngôn ng này.write() nh ng vi t xong t xu ng dòng.write() document.. I M L I CÁC L NH VÀ M R NG KI U th HTML Thu c tính c a th SCRIPT thu c tính c a th SCRIPT Ghi chú trong JavaScript Ghi chú trong JavaScript cách th c JavaScript Cách th c JavaScript Cách th c c a JavaScript i nh p t c qua JavaScript. chúng ta hãy R NG MÔ T H p ch a các l nh JavaScript Gi a ch c a file JavaScript bên ngoài..js nh rõ ngôn ng script c s d ng (JavaScript ho c VBScript) ánh d u ghi chú m t dòng trong o n script ánh d u ghi chú m t kh i trong o n script Xu t ra m t xâu trên c a s hi n th i m t cách tu n t theo file HTML có o n script ó T ng t cách th c document. Hi n th m t dòng thông báo trên h p h i tho i L NH/M SCRIPT SRC LANGUAGE // /*.5.*/ document. File này ph i có ph n uôi .JavaScript 11 Hình 2.

JavaScript Cách th c JavaScript Hi n th m t dòng thông báo trong h p h i tho i ng th i cung c p m t tr ng nh p d li u ng i s d ng nh p vào. 12 promt() .

var numfruit=12.write(temp). KI U D LI U Khác v i C++ hay Java. Ví d file Variable. BI U DI N T T TRONG JAVASCRIPT T t là các giá tr trong ch ây là các ví d v t t : 8 ³The dog ate my shoe´ true ng trình không thay i. Bi n c c b : Ch c truy c p trong ph m vi ch ng trình mà nó khai báo.Html: <HTML> <HEAD> <TITLE> Datatype Example </TITLE> <SCRIPT LANGUAGE= "JavaScript"> var fruit='apples'. c khai báo nh sau : x = 0. numfruit = numfruit + 20. Sau Chú ý Khác v i C. Bi n c c b c khai báo trong m t hàm v i t khoá var nh sau: var x = 0. JavaScript là ngôn ng có tính nh ki u th p. </SCRIPT> </HEAD> <BODY> </BODY> </HTML> Các trình duy t h tr JavaScript s x lý chính xác ví d trên và a ra k t qu d i ây: .JavaScript 13 CH NG 3 BI N TRONG JAVASCRIPT 3. Các ch s không c s d ng m u tên m t bi n nh ng có th s d ng sau ký t u tiên. var temp ="There are " + numfruit + " " + ". document.1. BI N VÀ PHÂN LO I BI N Tên bi n trong JavaScript ph i b t u b ng ch hay d u g ch d i. Ph m vi c a bi n có th là m t trong hai ki u sau: Bi n toàn c c: Có th c truy c p t b t k âu trong ng d ng. tuy nhiên i u này không th c s c n thi t.2. trong JavaScript không có ki u h ng s CONST bi u di n m t giá tr không i nào y 3. 3. Bi n toàn c c có th s d ng t khoá var.". i u này có ngh a là không ph i ch ra ki u d li u khi khai báo bi n. Ki u d li u ct ng chuy n thành ki u phù h p khi c n thi t.3.

D u ch m th p phân (.87E14 ng v i ki u s nguyên.1. Ví d : 9.1: K t qu c a x lý d li u Ph n d .2. Ph n m . có b n ki u d li u sau ây: ki u s nguyên. ki u d u ph y ng.85E4 9. Trong JavaScript.JavaScript 14 Trình di n d ch JavaScript s xem bi n numfruit có ki u nguyên khi c ng v i 20 và có ki u chu i khi k t h p v i bi n temp. ki u logic và ki u chu i. phân bi t ki u d u ph y d u ch m hay E. KI U D U PH Y NG (FLOATING POINT) M t literal có ki u d u ph y ng có 4 thành ph n sau: Ph n nguyên th p phân. H c s 8 (h bát phân) . 1.có th bi u di n s nguyên theo c s 10.s nguyên có th bi u di n d i d ng bát phân v i ch s u tiên là s 0.1.1.s nguyên có th bi u di n d i d ng th p l c phân v i hai ch s u tiên là 0x. chú ý r ng ch s u tiên ph i khác 0. ph i có ít nh t m t ch s theo sau . H c s 16 (h th p l c phân) . KI U NGUYÊN (INTERGER) S nguyên có th c bi u di n theo ba cách: H c s 10 (h th p phân) . Hình 3.). 1.87 -0.

. " hay '.write(³ \´This text inside quotes.1. KI U CHU I (STRING) M t literal ki u chu i .JavaScript 15 .1.3. Mi n giá tr c a ki u này 1.. false. Ví d : ³The dog ran up the tree´ µThe dog barked¶ ³100´ c bi u di n b i không hay nhi u ký t c t trong c p d u " bi u di n d u nháy kép ( " ). ..\´ ´).4. trong chu i s d ng ( \" ).98E-3 1.. ch hai i u ki n : úng ho c sai. KI U LOGIC (BOOLEAN) Ki u logic c s d ng ch có hai giá tr true. ví d : document. '.

1666666667. s h c.1. Bên c nh ó JavaScript còn h tr m t s ki u toán t gán rút g n. Sau ây là m t s toán t so sánh trong JavaScript: == Tr l i giá tr úng n u toán h ng bên trái b ng toán h ng bên ph i . CÁC TOÁN T (OPERATOR) Toán t c s d ng th c hi n m t phép toán nào ó trên d li u. logic và logic bitwise. Ví d (3+4)+(84. Chu i: Nh m ánh giá chu i. bi u th c nh n giá tr valTrue. Ví d : state = (temp>32) ? "liquid" : "solid" Trong ví d này bi n state c gán giá tr "liquid" n u giá tr c a bi n temp l n h n 32. Ví d temp>32 có th nh n giá tr sai. ng c l i nh n giá tr valFalse. Các toán t trong JavaScript có th c nhóm thành các lo i sau ây: gán. trong tr ng h p ng c l i nó nh n giá tr "solid". M t toán t có th tr l i m t giá tr ki u s . JavaScript c ng h tr bi u th c i u ki n.1.5/3) c ánh giá b ng 197. GÁN Toán t gán là d u b ng (=) nh m th c hi n vi c gán giá tr c a toán h ng bên ph i cho toán h ng bên trái. bi n và các toán t nh m ánh giá m t giá tr nào ó c g i là m t bi u th c (expression). V c b n có ba ki u bi u th c trong JavaScript: S h c: Nh m l ng giá giá tr s . Ví d "The dog barked" + barktone + "!" là The dog barked ferociously!. Logic: Nh m ánh giá giá tr logic.1. ki u chu i hay ki u logic. XÂY D NG JAVASCRIPT CÁC BI U TH C TRONG NH NGH A VÀ PHÂN LO I BI U TH C T p h p các literal. chu i. 2.2.JavaScript 16 2. Ki u gán thông th x=x+y x=x-y x=x*y x=x/y x=x%y 2. so sánh. cú pháp nh sau: (condition) ? valTrue : valFalse N u i u ki n condition c ánh giá là úng. SO SÁNH ng Ki u gán rút g n x+=y x-=y x*=y x/=y x%=y Ng i ta s d ng toán t so sánh so sánh hai toán h ng và tr l i giá tr úng hay sai ph thu c vào k t qu so sánh.

tr (-). LOGIC JavaScript h tr các toán t logic sau ây: expr1 && expr2 expr1 || expr2 ! expr Là toán t logic AND. giá tr c a x c gán cho y tr c khi nó c t ng hay gi m. . tr l i giá tr expr1 và expr2 cùng úng.1.v i tên bi n (là x trong tr ng h p này). S Tr l i giá tr Tr l i giá tr úng n u toán h ng bên trái khác toán h ng bên ph i úng n u toán h ng bên trái l n h n toán h ng bên ph i Tr l i giá tr úng n u toán h ng bên trái l n h n ho c b ng toán h ng bên ph i Tr l i giá tr ph i úng n u toán h ng bên trái nh h n toán h ng bên Tr l i giá tr úng n u toán h ng bên trái nh h n ho c b ng toán h ng bên ph i H C Bên c nh các toán t c ng (+). tr l i giá tr m t trong hai expr1 và expr2 úng. JavaScript còn h Toán t ph n d .vào m t bi n.1. N u ++ ng tr c x.5. nhân (*). Là toán t logic OR. Là toán t logic NOT ph úng n u c úng n u ít nh t nh giá tr c a expr. nh y= x++. c "abcxyz" 2.1.ng sau x. tr l i ph n d khi chia var1 cho var2 Toán t ph nh.4. có giá tr ph nh toán h ng Toán t này t ng var lên 1 (có th bi u di n là ++var) Toán t này gi m var i 1 (có th bi u di n là --var) Chú ý N u b n gán giá tr c a toán t ++ hay -. có th có các k t qu khác nhau ph thu c vào v trí xu t hi n tr c hay sau c a ++ hay -. toán t + "abc" + "xyz" c coi là k t h p hai chu i. chia (/) thông th tr các toán t sau ây: var1% var2 var++ var-- ng. N u ++ hay -. 2. CHU I Khi ví d : c s d ng v i chu i.3.JavaScript 17 != > >= < <= 2. x s c t ng ho c gi m tr c khi giá tr x c gán cho y.

6. D ch chuy n toán h ng trái sang ph i m t s l ng bit b ng toán h ng ph i. | Toán t bitwise OR. D ch chuy n toán h ng trái sang trái m t s l ng bit b ng toán h ng ph i. BITWISE V i các toán t thao tác trên bit. sau ó l n l t th c hi n các phép toán trên t ng bit.1. Giá tr c chuy n thành s nguyên 32 bit tr c khi d ch chuy n. 7 == 7 d. tr l i giá tr 1 n u c hai bit cùng là 1. Ví d : -8>>>2 tr thành 1073741822 (b i các bit d u ã tr thành m t ph n c a s ).1. Các bit b chuy n sang ph i b m t và d u c a toán h ng bên trái c gi nguyên.7. u tiên giá tr c chuy n d i d ng s nguyên 32 bit. tr l i giá tr 1 n u hai bit có giá tr khác nhau Ngoài ra còn có m t s toán t d ch chuy n bitwise. Các bit b chuy n sang trái b m t và 0 thay vào phía bên ph i. & Toán t bitwise AND. Ví d : 16>>2 tr thành 4 (s nh phân 10000 tr thành s nh phân 100) >>> Toán t d ch ph i có chèn 0. "7" + "5" c. tr l i giá tr 1 n u m t trong hai bit là 1. giá tr l i c chuy n thành ki u c a toán h ng bên trái. Có m t s toán t d ch chuy n bitwise rút g n: Ki u bitwise thông th x = x << y x = x >> y x = x >>> y x=x&y x=x^y x=x|y ng Ki u bitwise rút g n x << = y x .>> y x >>> = y x&=y x^=y x|=y BÀI T P 2.JavaScript 18 2. Nh ng bit c d ch sang ph i b xoá i. 7 >= 5 . 7 + 5 b. D ch chuy n toán h ng trái sang ph i m t s l ng bit b ng toán h ng ph i. a. T t nhiên v i s d ng k t qu c a toán t >> và >>> là gi ng nhau. Ví d : 4<<2 tr thành 16 (s nh phân 100 tr thành s nh phân 10000) >> Toán t d ch ph i. ^ Toán t bitwise XOR. Bit d u c d ch chuy n t trái (gi ng >>). Sau khi d ch chuy n. Sau ây là các toán t d ch chuy n: << Toán t d ch trái. CÂU H I Hãy ánh giá các bi u th c sau: 1.

7 <= 7 2. true 2. (7 >= 5) || (5 > 5) 2. true c ánh giá nh sau: .8. a. (7 < 5) ? 7 : 5 g. f. true d.JavaScript 19 e. "75" c. (7 >= 5) && (5 > 5) h. false h. 12 b.1. TR L I Các bi u th c 1. 5 g. true e. f.

.write(³x b ng 10. JavaScipt cung c p hai ki u câu l nh l p: for loop while loop c .. nh l p. câu l nh i u ki n là if. else Câu l nh này cho phép b n ki m tra i u ki n và th c hi n m t nhóm l nh nào y d a trên k t qu c a i u ki n v a ki m tra..´). Cú pháp if ( < i u ki n> ) { //Các câu l nh v i i u ki n úng } else { //Các câu l nh v i i u ki n sai } Ví d : if (x==10){ document.´). CÂU L NH L P Câu l nh l p th hi n vi c l p i l p l i m t o n mã cho n khi bi u th c i u ki n ánh giá là úng. Nhóm l nh sau else không b t bu c ph i có.write(³x không b ng 10. Có th chia các l L L L CÂU L NH I U KI N y Câu l nh i u ki n cho phép ch ng trình ra quy t nh và th c hi n công vi c nào d a trên k t qu c a quy t nh.. t l i x b ng 0. x = 0. CÁC L NH nh c a JavaScript thành ba nhóm sau: nh i u ki n. nó cho phép ch ra nhóm l nh ph i th c hi n n u i u ki n là sai. nh tháo tác trên i t ng.else if . Chú ý Ký t { và } c s d ng tách các kh i mã. } else document. Trong JavaScript.JavaScript 20 3.

x<=10 . Cú pháp: for (initExpr. document.1. Sau khi k t thúc m i vòng l p.write("x ="+ x +".initExpr.1. < i u ki n> . sau ó l p m t o n mã cho n khi bi u th c < i u ki n> c ánh giá là úng.JavaScript 21 3. incrExpr){ //Các l nh c th c hi n trong khi l p } Ví d : <HTML> <HEAD> <TITLE>For loop Example </TITLE> <SCRIPT LANGUAGE= "JavaScript"> for (x=1. x++) { y=x*25.y= "+ y + "<BR>"). } </SCRIPT> </HEAD> <BODY></BODY> </HTML> . VÒNG L P FOR Vòng l p for thi t l p m t bi u th c kh i u . bi u th c incrExpr c ánh giá l i.

1..3.2. Cú pháp break. x++. Vòng l p này s th c hi n kh i mã l nh cho 3. Ch c ti p t c th c hi n t i câu l nh ngay sau ch k t thúc c a vòng l p. while (x<=10){ y=x*25.loop Ví d này l u vào file for_loop. Tuy nhiên n u giá tr x vòng l p nh h n 50. WHILE n khi x>10. vòng l p s k t thúc Ví d : while (x<100) a vào . document.Html.write("x="+x +". BREAK c. y = "+ y + "<BR>").1: K t qu c a l nh for. Vòng l p while l p kh i l nh ch ng nào < i u ki n> còn Cú pháp: while (< i u ki n>) { //Các câu l nh th c hi n trong khi l p } Ví d : x=1. Câu l nh break dùng k t thúc vi c th c hi n c a vòng l p for hay while. ng trình o n mã sau l p cho n khi x l n h n ho c b ng 100.JavaScript 22 Hình 5. } c ánh giá là úng K t qu c a ví d này gi ng nh ví d tr 3.1..

CONTINUE L nh continue gi ng l nh break nh ng khác ch vi c l p c k t thúc và b t u t u vòng l p.. if (x=5) { x=8.1. l nh continue i u khi n quay l i < i u ki n>. Cú pháp continue.IN IT NG it ng.5. i v i vòng l p while. continue. Tên bi n có th là m t giá tr b t k . FOR. } CÁC CÂU L NH THAO TÁC TRÊN JavaScript là m t ngôn ng d a trên các i t ng.JavaScript 23 { if (x<50) break. ch c n thi t khi b n s d ng các thu c tính trong vòng l p. 3.2. Ví d : o n mã sau t ng x t 0 lên 5. l nh continue i u khi n quay l i incrExpr. do ó nó có m t s câu l nh làm vi c v i Câu l nh này c s d ng l p t t c các thu c tính (properties) c a m t i t ng. <HTML> <HEAD> <TITLE>For in Example </TITLE> <SCRIPT LANGUAGE= "JavaScript"> it ng Window và in ra tên c a m i thu c . } x++. } 3. x++.. Ví d sau s minh ho i u này Cú pháp for (<variable> in <object>) { //Các câu l nh } Ví d Ví d sau s l y ra t t c các thu c tính c a tính.1.write(³Giá tr c a x là:´+ x+´<BR>´). v i for. K t qu c minh ho trên hình 5. while (x<=10) { document. nh y lên 8 và ti p t c t ng lên 10 x=0.4.

sex. [. ").2: K t qu c a l nh for.in 3. Chú ý r ng t khoá this c s d ng ch i t ng trong hàm person . NEW Bi n new c th c hi n Cú pháp t o ra m t th hi n m i c a m t it ng objectvar = new object_type ( param1 [..write("The properties of the Window object are: <BR>"). Sau ó ba th hi n c a i t ng person c t o ra b ng l nh new .param2]. age.6.JavaScript 24 document. lastname.write(" "+ x + ".1. </SCRIPT> </HEAD> <BODY> </BODY> </HTML> Hình 5.paramN]) Ví d sau t o i t ng person có các thu c tính firstname... for (var x in window) document..

"+ person4.sex=sex.first_name + "<BR>"). "Male"). person2= new person("Chung". "+ person3.write ("1. document. "Female"). person4= new person("Hoàn". this. } person1= new person("Thuy".first_name+"<BR>"). document.write("2.last_name +" "+ person3.3: K t qu c a ví d l nh New .last_name+" " + person1. "24". </SCRIPT> </HEAD> <BODY> </BODY> </HTML> Hình 5. "23". "+person1. "Dau Bich".age=age. age. last_name. sex){ this. "Male"). this.JavaScript 25 <HTML> <HEAD> <TITLE>New Example </TITLE> <SCRIPT LANGUAGE= "JavaScript"> function person(first_name. this. "24". "+person2. " V n". "Male").last_name=last_name. "Nguyen Bao".first_name + "<BR>" ). document.last_name +" "+ person4.write("3. document.write("4.last_name +" "+ person2. "Nguyen Nhat". "24".first_name=first_name.first_name + "<BR>"). person3= new person("Binh".

7. <P>´). t ng hi n th i trong ph ng th c ho c trong hàm. WITH L nh này c s d ng thi t l p th s d ng các thu c tính mà không Cú pháp with (object) { // statement } i t ng ng m nh cho m t nhóm các l nh. } </SCRIPT> </HEAD> <BODY> </BODY> </HTML> . Ví d : Ví d sau ch ra cách s d ng l nh with thi t l p i t ng ng m nh là document và có th s d ng ph ng th c write mà không c n c p n i t ng document <HTML> <HEAD> <TITLE>With Example </TITLE> <SCRIPT LANGUAGE= "JavaScript"> with (document){ write(³This is an exemple of the things that can be done <BR>´). Cú pháp this [.JavaScript 26 3. THIS T khoá this c s d ng ch i t ng hi n th i. b n có c p n i t ng.property] it ng c g i th ng là i Có th xem ví d c a l nh new. write(³This can really save some typing´).1. write(³With the <B>with<B> statment.8. 3.1.

L nh function c s d ng t o ra hàm trong JavaScript.[paramN]) { //function statement } Ví d : Ví d sau minh ho cách th c t o ra và s d ng hàm nh là thành viên c a m t Hàm printStats c t o ra là ph ng th c c a i t ng person <HTML> <HEAD> <TITLE>Function Example </TITLE> <SCRIPT LANGUAGE= "JavaScript"> function person(first_name. Cú pháp function fnName([param1]. this. M c dù không nh t thi t ph i có.4: K t qu c a ví d l nh with CÁC HÀM (FUNCTIONS) JavaScript c g cho phép s d ng các hàm.. ..age=age. it ng. last_name. B i vì JavaScript là ngôn ng có tính nh ki u th p nên không c n nh ngh a ki u tham s và giá tr tr v c a hàm.first_name=first_name.[param2].. age. trong tr ng h p này nó c xem nh là ph ng th c c a i t ng ó. Hàm có th là thu c tính c a m t i t ng. song các hàm có th có m t hay nhi u tham s truy n vào và m t giá tr tr v .JavaScript 27 Hình 5. this.last_name=last_name. sex) { this..

"23". write("Age :"+this.printStats(). "Male").JavaScript 28 this.sex+"<BR>").last_name + " " + this. person1. person2= new person("Chung". "Do Van". write("Sex :"+this.printStats().sex=sex. </SCRIPT> </HEAD> <BODY> </BODY> </HTML> Hình 8: Ví d v hàm . } function printStats() { with (document) { write (" Name :" + this.printStats=printStats. "24". "24".printStats(). person4. "Dau Bich". } } person1= new person("Thuy". "Female").first_name + "<BR>" ). person4= new person("Hoan". person2. this. "Nguyen Bao". "Nguyen Nhat". "Male"). "23". person3= new person("Binh".printStats().age+"<BR>"). "Male"). person3.

9.1.sqrt(64)´. Bi u th c. EVAL Hàm này c s d ng ánh giá các bi u th c hay l nh. c bi t h t s c h u ích khi ánh giá các bi u th c do ng i dùng a vào (ng c l i có th ánh giá tr c ti p). document. Cú pháp: returnval=eval (b t k bi u th c hay l nh h p l trong Java) Ví d : <HTML> <HEAD> <TITLE>Eval Example </TITLE> <SCRIPT LANGUAGE= "JavaScript"> var string=´10+ Math.write(string+ ³=´+ eval(string)). </SCRIPT> Hình 5.JavaScript 29 CÁC HÀM CÓ S N JavaScript có m t s hàm có s n. g n tr c ti p vào chính ngôn ng và không n m trong m t i t ng nào: eval parseInt parseFloat 3.5: K t qu vi c s d ng hàm </HEAD> <BODY> </BODY> </HTML> . l nh hay các i t ng c a thu c tính u có th c ánh giá.

write("Converting 1100 binary to base-10: " + parseInt(1100. Hàm này th ng c s d ng chuy n các s nguyên sang c s 10 và m b o r ng các d li u c nh p d i d ng ký t c chuy n thành s tr c khi tính toán.6 Ví d hàm Eval 3. [. </SCRIPT> </HEAD> <BODY> </BODY> . Ngoài ra hàm này còn c t d u ph y ng.10) + "<BR>"). Trong tr ng h p d li u vào không h p l .1.2) + "<BR>"). hàm parseInt s c và chuy n d ng chu i n v trí nó tìm th y ký t không ph i là s . document.10.write("Converting 0xC hex to base-10: " + parseInt(0xC. radix]) Ví d : <HTML> <HEAD> <TITLE> perseInt Exemple </TITLE> <SCRIPT LANGUAGE= "JavaScript"> document. Cú pháp parseInt (string.JavaScript 30 Hình 5. PARSEINT Hàm này chuy n m t chu i s thành s nguyên v i c s là tham s th hai (tham s này không b t bu c).

Hình 5.write("1abc37= " + parseFloat("1abc37") + "<BR>").7: Ví d parInt 3.1. PARSEFLOAT Hàm này gi ng hàm parseInt nh ng nó chuy n chu i thành s bi u di n d ph y ng. document.11. document. </SCRIPT> </HEAD> <BODY> </BODY> . document. document.write("137= " + parseFloat("137") + "<BR>").write("This script will show how diffrent strings are ").write("abc137= " + parseFloat("abc137") + "<BR>"). Cú pháp parseFloat (string) i d ng d u Ví d : Ví d sau minh ho cách th c x lý c a parseFloat v i các ki u chu i khác nhau.write("Converted using parseFloat<BR>"). document.write("137abc= " + parseFloat("137abc") + "<BR>").8 minh h a k t qu <HTML> <HEAD> <TITLE> perseFload Exemple </TITLE> <SCRIPT LANGUAGE= "JavaScript"> document.JavaScript 31 </HTML> Hình 5.

x++){ . } ng Nó t o ra m t m ng v i kích th c xác nh tr c và i n các giá tr 0. x++){ this[x]=0 } return this. x<=numElements.8 : K t qu c a ví d parseFloat M NG (ARRAY) M c dù JavaScript không h tr c u trúc d li u m ng nh ng Netscape t o ra ph th c cho phép b n t t o ra các hàm kh i t o m ng nh sau: function InitArray(NumElements){ this.length = numElements.length = numElements. khai báo nh sau: myArray = new InitArray (10) Nó t o ra các thành ph n t myArray[1] n myArray[10] v i giá tr là 0. for (var x=1. t o ra m t m ng. for (var x=1. x<=numElements. Giá tr các thành ph n trong m ng có th c thay i nh sau: myArray[1] = "Ngh An" myArray[2] = "Lào" Sau ây là ví d y : <HTML> <HEAD> <TITLE> Array Exemple </TITLE> <SCRIPT LANGUAGE= "JavaScript"> function InitArray(numElements) { this. Chú ý r ng thành ph n u tiên trong m ng là dài m ng và không c s d ng.JavaScript 32 </HTML> Hình 5.

write(myArray[1] + "<BR>"). . } myArray = new InitArray(10). </SCRIPT> </HEAD> <BODY> </BODY> </HTML> Hình 5. document.9: Ví d m ng S KI N JavaScript là ngôn ng nh h ng s ki n. ngh a là s ph n ng tr c các s ki n xác nh tr c nh kích chu t hay t i m t v n b n.JavaScript 33 this[x]=0 } return this.write(myArray[2] + "<BR>"). document. myArray[1] = "Ngh An". M t s ki n có th gây ra vi c th c hi n m t o n mã l nh (g i là các ch ng triình x lý s ki n) giúp cho ch ng trình có th ph n ng m t cách thích h p. myArray[2] = "Hà N i".

Ch ng trình x lý s ki n c xác nh là m t thu c tính c a m t th HTML: Ch <tagName eventHandler = "JavaScript Code or Function"> Ví d sau g i hàm CheckAge() m i khi giá tr c a tr ng v n b n thay i: <INPUT TYPE=TEXT NAME="AGE" onChange="CheckAge()"> o n mã c a ch ng trình x lý s ki n không là m t hàm. onSelect onBlur. onFocus onBlur. M t s ch ng trình x lý s ki n trong JavaScript: onBlur onClick onChange onFocus onLoad onMouseOver onSelect onSubmit onUnLoad X y ra khi input focus b xoá t thành ph n form X y ra khi ng k t c a form. onMouseOut onMouseOver. onSelect onClick onClick onClick onClick. i dùng kích vào các thành ph n hay liên c ch n thay i X y ra khi giá tr c a thành ph n X y ra khi thành ph n c a form X y ra trang Web c t i. X y ra khi di chuy n chu t qua k t n i hay anchor. onChange. it Text Textarea Button Checkbox Radio button Hypertext link Clickable Imagemap area Reset button ng Ch ng trình x lý s ki n có s n Selection list onBlur. onMouseOut onClick . onChange. onFocus. onMouseOver. onChange. X y ra khi ng li u trên form. c focus(làm n i lên).JavaScript 34 ng trình x lý s ki n (Event handler): M t o n mã hay m t hàm c th c hi n ph n ng tr c m t s ki n g i là ch ng trình x lý s ki n. X y ra khi ng X y ra khi ng i s d ng l a ch n m t tr i dùng a ra m t form. onFocus. ng nh p d i dùng óng m t trang it ng. Các i Sau ây là b ng các ch ng trình x lý s ki n có s n c a m t s t ng này s c trình bày k h n trong ph n sau. Tuy nhiên cho m c ích vi t thành các module nên vi t d i d ng các hàm. nó là các l nh c a JavaScript cách nhau b ng d u ch m ph y.

10 minh ho k t qu c a ví d này <HTML> <HEAD> <TITLE> An Event Handler Exemple </TITLE> <SCRIPT LANGUAGE= "JavaScript"> function CheckAge(form) { if ( (form.AGE. onUnload. onAbort Ví d sau là m t o n mã script n gi n c a ch ng trình x lý s ki n th m nh giá tr a vào trong tr ng text. onError.AGE.value<0)||(form. onError onLoad. form. } } </SCRIPT> </HEAD> <BODY> <FORM NAME="PHIEU_DIEU_TRA"> Nh p vào tên c a b n:<BR> Tên <INPUT TYPE=TEXT NAME="TEN" MAXLENGTH=10 SIZE=10><BR> m <INPUT TYPE=TEXT NAME="DEM" MAXLENGTH=15 SIZE=10><BR> H <INPUT TYPE=TEXT NAME="HO" MAXLENGTH=10 SIZE=10><BR> Age <P> <INPUT TYPE=TEXT NAME="AGE" MAXLENGTH=3 onChange="CheckAge(PHIEU_DIEU_TRA)"><BR> SIZE=2 B n thích mùa nào nh t:<BR> Mùa xuân<INPUT TYPE=RADIO NAME="MUA" VALUE="Mua xuan"> .AGE. onUnload. Tu i c a ng i s d ng c nh p vào trong tr ng này và ch ng trình x lý s ki n s th m nh tính h p l c a d li u a vào.JavaScript 35 Submit button Document Window Framesets Form Image onClick onLoad. Hình 5. N u không h p l s xu t hi n m t thông báo yêu c u nh p l i. onBlur.value>120) ) { alert("Tu i nh p vào không h p l ! M i b n nh p l i").value=0. onFocus onSubmit. Ch ng trình x lý s ki n cg im i khi tr ng AGE b thay i và focus chuy n sang tr ng khác. onFocus onBlur. onReset onLoad.

JavaScript 36 Mùa h <INPUT TYPE=RADIO NAME="MUA" VALUE="Mua ha"> Mùa thu<INPUT TYPE=RADIO NAME="MUA" VALUE="Mua thu"> Mùa ông<INPUT TYPE=RADIO NAME="MUA" VALUE="Mua dong"> <P> Hãy ch n nh ng ho t Tr Th ng ngoài tr i mà b n yêu thích:<BR> i b <INPUT TYPE=CHECKBOX NAME="HOAT_DONG" VALUE="Di bo"> t tuy t<INPUT TYPE=CHECKBOX NAME="HOAT_DONG" VALUE="Truot tuyet"> thao d i n c<INPUT TYPE=CHECKBOX VALUE="Duoi nuoc"> NAME="HOAT_DONG" p xe<INPUT TYPE=CHECKBOX NAME="HOAT_DONG" VALUE="Dap xe"> <P> <INPUT TYPE=SUBMIT> <INPUT TYPE=RESET> </FORM> </BODY> </HTML> Hình 5.10: Minh ho cho ví d Event Handler .

CÂU H I 1. } function farewell() { alert("Goodbye " + name + "."> f. <FORM onSubmit="doSomething(). Thanks for visiting my page. <FORM onLoad="doSomething(). function welcome() { name = prompt("Welcome to my page! What's Your Name?"."name")."."> d.JavaScript 37 BÀI T P 3."> b.12.jpg và m t l i chào. S d ng vòng l p while mô ph ng các vòng l p for sau: .")."> e. <BODY onUnload="doSomething()."> 4.1."> c.then th c hi n: H i ng i s d ng có mu n nh n c m t l i chào không N u có thì hi n nh wellcome..4</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-. <INPUT TYPE=text onFocus="doSomething(). Câu l nh nào trong các câu sau ây s d ng sai th s ki n a.HIDE FROM OTHER BROWSERS var name = "". Vi t m t o n l nh JavaScript s d ng cách th c confirm() và câu l nh if. } // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY onLoad="welcome(). Vi t m t o n l nh JavaScript th c hi n: H i ng i s d ng: "10+10 b ng bao nhiêu?" N u úng thì h i ti p: Có mu n tr l i câu th hai không?" N u mu n thì h i: "10*10 b ng bao nhiêu?" ánh giá k t qu b ng bi u th c logic sau ó vi t ra màn hình: úng: "CORRECT". <INPUT TYPE=textarea onLoad="doSomething(). <BODY onClick="doSomething(). i u gì x y ra khi th c hi n script sau: <HTML> <HEAD> <TITLE>Exercise 5.> This is my page! </BODY> </HTML> 5." onUnload="farewell(). 3. Sai: "INCORRECT" G i ý: S d ng bi n toàn c c l u k t qu úng so sánh v i k t q a a vào. N u không thì vi t ra m t l i thông báo 2..

TR L I 1. var answer=20. } 3. num ++) { if (num == 8) break. k = k*2) { k = k/1.13. num <= 10..1.write("What a pity! You have just click Cancel button"). j --) { document. .5. for (j = 4. var correct='CORRECT'. for (num = 0.jpg'>"). document. for (k = 1.3</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-. } b.JavaScript 38 a.write("<IMG SRC='wellcome. S d ng cách th c confirm() và c u trúc if.writeln(j + "<BR>").1</TITLE> <HEAD> <BODY> <P> <SCRIPT LANGUAGE="JavaScript"> var conf=confirm("Click OK to see a wellcome message!") if (conf){ document.write("<BR>Wellcome you come to CSE's class"). } c. } else document.HIDE FROM OTHER BROWSERS // DEFINE VARIABLES FOR REST OF SCRIPT var question="What is 10+10?". k <= 99. </SCRIPT> </P> </BODY> </HTML> 2..then: <HTML> <HEAD> <TITLE>Execise 5. Th c hi n h i ng i s d ng: <HTML> <HEAD> <TITLE>Exercise 3. j > 0.

")) { question = "What is 10*10?".write(output).writeln(j + "<BR>"). // chECK THE ANSWER THE FIRST TIME if (response != answer) { // THE ANSWER WAS WRONG: OFFER A SECOND chAncE if (confirm("Wrong! Press OK for a second chance. S d ng vòng l p while nh sau: a. l u tên ó vào bi n toàn c c name."0"). Các câu sai: a. Khi ng i s d ng sang m t a ch URL khác. response = prompt (question. while (k <= 99) { k = k * 2 / 1.")) response = prompt(question. } b.JavaScript 39 var incorrect='INCORRECT'. . } } // chECK THE ANSWER var output = (response == answer) ? correct : incorrect. while (--j > 0) { document. Các câu úng: b. k = 1. // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript"> <!-. Khi ch ng trình c ch y (load). answer = 100. j = 5.5. e. c."0"). } else { // THE ANSWER WAS RIGHT: OFFER A SECOND QUESTION if (confirm("Correct! Press OK for a second question. hàm farewell() s th c hi n g i m t l i c m n t i ng i s d ng. hàm wellcome s th c hi n h i tên ng i s d ng."0"). d.HIDE FROM OTHER BROWSERS // OUTPUT RESULT document. 5. // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </BODY> </HTML> 3. f 4. // ASK THE QUESTION var response = prompt(question.

while (num <= 10) { if (num++ == 8) break.JavaScript 40 } c. num = 0. } .

b n ph i s d ng: document. Ví d i t ng document có thu c tính title ph n ánh n i dung c a th <TITLE> c a document. nó s t o ra m t s i t ng cùng v i nh ng giá tr các thu c tính c a chúng d a trên file HTML c a document ó và m t vài thông tin c n thi t khác. .JavaScript 41 4. onMouseOver c g i khi con tr chu t di chuy n qua link. Ph n này nói v các i t ng trong JavaScript và hình 6.PHIEU_DIEU_TRA. onClick c g i khi có i t ng link c kích. các i t ng con th c s là các thu c tính c a các i t ng b m .1 ch ra s phân c p các i t ng. Nh ng i t ng này t n t i m t cách có c p b c và ph n ánh chính c u trúc c a file HTML ó. i t ng c ng có th có các ch ng trình x lý s ki n. Khi b n t i m t document xu ng Navigator. Trong ví d v ch ng trình x lý s ki n tr c ây form tên PHIEU_DIEU_TRAlà thu c tính c a i t ng document và tr ng text AGE là thu c tính c a form PHIEU_DIEU_TRA.value Các i t ng có thu c tính (properties). tham chi u n giá tr c a AGE. ph ng th c (methods). Trong s phân c p các i t ng c a JavaScript. Bên c nh ó b n th y ph ng th c document.AGE.write c s d ng trong nhi u ví d a v n b n k t qu ra document. nh ng không h ng i t ng b i vì nó không h tr các l p c ng nh tính th a k . và các ch ng trình x lý s ki n (event handlers) g n v i chúng. CÁC IT NG TRONG JAVASCRIPT Nh ã nói JavaScript là ngôn ng l p trình d a trên i t ng. Ví d i t ng link có hai ch ng trình x lý s ki n là onClick và onMouseOver.

. các i t ng con chính là các thu c tính c a m t i t ng cha. các k t n i và các forms. Ví d nh m t form tên là form1 chính là m t i t ng con c a i t ng document và c g i t i là document. window: là i t ng d ng vào toàn b c a s . màu n n.1: S 1 . m c cao nh t. có các thu c tính th c hi n áp document : ch a các thu c tính d a trên n i dung c a document nh tên.JavaScript 42 S sau s minh ho s phân c p c a các it ng này Window Texturea Text navigator Plugin Frame Layer Link document Image Area Location Anchor Applet History Plugin Form Checkbox Button Select Hình 6.Phân c p it ng Navigator Option FileUpload Mime Type Password Hidden Submit Reset Radio Trong s phân c p này. a ch URL hi n th i history : Ch a các thu c tính v các URL mà client yêu c u tr location: có các thu c tính d a trên c ó.form1 T t c các trang u có các i t ng sau ây: navigator: có các thu c tính tên và phiên b n c a Navigator ang c s d ng. dùng cho MIME type c h tr b i client và plug-in c cài t trên client.

</SCRIPT> </HEAD> <BODY> </BODY> </HTML> . Ví d Ví d sau s hi n th các thu c tính c a it ng navigator <HTML> <HEAD> <TITLE> Navigator Object Exemple </TITLE> <SCRIPT LANGUAGE= "JavaScript"> document.write("appName = "+navigator. i t ng này không có ph ng th c hay ch ng trình x lý s ki n.write("userAgent = "+navigator. nh tên trình duy t. document.agent.appVersion + "<BR>").appName + "<BR>").JavaScript 43 Sau ây s mô t các thu c tính.write("appCodeName = "+navigator. it ng navigator. Các thu c tính appCodeName AppName AppVersion userAgent Xác Xác Xác Xác nh tên mã n i t i c a trình duy t (Atlas). ph cho t ng i t ng trong JavaScript. document.appCodeName + "<BR>"). ng th c c ng nh các ch ng trình x lý s ki n IT NG NAVIGATOR i t ng này c s d ng t c các thông tin v trình duy t nh s phiên b n.write("appVersion = "+navigator.userAgent + "<BR>"). document. nh thông tin v phiên b n c a nh header c a user .

i t ng c a s cha m Self . v trí u là thu c tính c a 4.S l ng các frame trong c a s cha m . CÁC PH NG TH C alert ("message") -Hi n th h p h i tho i v i chu i "message" và nút OK.M ng xác nh t t c các frame trong c a s .C a s trên cùng. Các i t ng window.2. Window .C a s hi n th i. frame.1. 4. Status c s d ng cho thông báo t m th i hi n th lên trên thanh th ng thái c a s .2: Minh ho cho it ng Navigator IT NG WINDOW i t ng m c cao nh t. c s d ng l y hay t l i thông báo tr ng thái và ghi è lên defaultStatus.C a s hi n th i. Top . Name .1.Thông báo ng m nh hi n th lên trên thanh tr ng thái c a c as Frames .JavaScript 44 Hình 6. CÁC THU C TÍNH defaultStatus . . Length .1. Parent . i t ng i t ng window nh ã nói trên là document.Tên c a c a s hi n th i.

M c a s m i. [windowVar = ][window]. Ví d : S d ng tên c a s khi g i t i nó nh là ích c a m t form submit ho c trong m t Hipertext link (thu c tính TARGET c a th FORM và A).close()"> </FORM> </BODY> </HTML> .width=200.'resizable=no.M m t h p h i tho i nh n d li u vào tr ng text.open(''. Trong ví d t o ra m t t i c a s th hai.'window2'.óng c a s windowReference. nh nút th nh t m m t c a s r ng. "windowName".close . nút OK và nút Cancel. [ "windowFeatures" ] ) . prompt ("message" [.html xu ng c a s m i ó r i m t nút khác dùng óng c a s th hai l i.heigh t=200')"> <P> <A HREF="doc2.ánh giá bi u th c expresion sau th i gian msec.JavaScript 45 clearTimeout(timeoutID) -Xóa timeout do SetTimeout t.html" TARGET="window2"> Load a file into window2 </A> </P> <INPUT TYPE="button" VALUE="Close Second Window" onClick="msgWindow. confirm("message") -Hi n th h p h i tho i v i chu i "message".html: <HTML> <HEAD> <TITLE>Frame Example </TITLE> </HEAD> <BODY> <FORM> <INPUT TYPE="button" VALUE="Open Second Window" onClick="msgWindow=window. SetTimeout tr l i timeoutID windowReference. sau ó m t liên k t s t i file doc2. Tr l i giá tr True cho OK và False cho Cancel.msec) . open("URL". TimeoutID = setTimeout(expression."defaultInput"]) . ví d này l a vào file window.

Tên c a host và domain (ví d www.html). CÁC CH NG TRÌNH X LÝ S it KI N ng c a s onLoad .com ). Ví d : http:// www.Ph n ng d n c a URL (ví d /chap1/page2. href .Ph n hostname:port c a URL (ví d www. onUnLoad . Port .Tên anchor c a v trí hi n th i (ví d topic3).Câu truy v n tìm ki m có th cu i URL cho các script CGI. Host .html#topic3 Các thu c tính hash .JavaScript 46 Hình 6.Xu t hi n khi c a s c lo i b . Search . Chú ý r ng ây th ng là c ng ng m nh và ít khi c ch ra. Pathname . Protocol .com/ chap1/page2.3.3: Minh ho cho 4.C ng truy n thông c s d ng cho máy tính host. th ng là c ng ng m nh. IT NG LOCATION Các thu c tính c a i t ng location duy trì các thông tin v URL c a document hi n th i. Hostname .Xu t hi n khi c a s k t thúc vi c t i.abc.abc.Giao th c c s d ng (cùng v i d u hai ch m) (ví d http:).abc. i t ng này hoàn toàn không có các ph ng th c và ch ng trình x lý s ki n i kèm. .Toàn b URL cho document hi n t i.com ).1.

html) . 4.html) contentFrame (titles. 4.S l ng các frame con trong m t frame. CÁC PH NG TH C clearTimeout (timeoutID) .1.4. 4. S ki n onLoad và onUnLoad là c a i t ng window. self .frame hi n th i. frame không có các ch ng trình x lý s ki n.6.1. S D NG FRAME 4. Parent . m c dù 2 trong s các frame ó n m trong m t frameset khác.JavaScript 47 IT NG FRAME M t c a s có th có m t vài frame. TimeoutID = setTimeout (expression.1.5.Xoá timeout do setTimeout l p. Top listFrame (category.70%"> <FRAME SRC=CATEGORY. Ví d 1: t o frame ( hình 17) <HTML> <HEAD> <TITLE>Frame Example </TITLE> <FRAMESET ROWS="90%.6.html) navigatorFrame (navigator.HTM NAME="navigateFrame"> </FRAMESET > </HEAD> <BODY> </BODY> </HTML> S sau hi n th c u trúc c a các frame: C 3 frame u trên cùng m t c a s cha.HTM NAME="ListFrame"> <FRAME SRC=TITLES. Các frame có th cu n m t cách c l p v i nhau và m i frame có URL riêng.1. M c ích c a th này là t p các frame trong m t trang.HTM NA ME="contentFrame"> </FRAMESET > <FRAME SRC=NAVIGATOR. ta s d ng th FRAMESET.msec) .10%"> <FRAMESET COLS="30%.C a s hay frame ch a nhóm frame hi n th i. Window . a) T o m t frame (create) nh ngh a m t t o m t frame.M ng t t c các frame trong c a s . SetTimeout tr l i timeoutID.Thu c tính NAME c a th <FRAME> Length . Name . CÁC THU C TÍNH frames .1.ánh giá expression sau khi h t th i gian msec.frame hi n th i.

HTML NAME="upperFrame"> <FRAME SRC=NAVIGATOR.html l i ti p t c <HTML> <HEAD> t m t frameset: .frames[0] contentFrame chính là top. b n có th t o ra m t c a s gi ng nh ví d tr c nh ng trong m i nh c a hai frame l i có m t c a s cha riêng t navigateFrame.frames[2] Hình 6.4: K t qu vi c t o frame trong Ví d 2: C ng gi ng nh m t s l a ch n.HTM NAME="navigateFrame"> </FRAMESET > </HEAD> <BODY> </BODY> </HTML> Trong file muske13.JavaScript 48 B n có th g i t i nh ng frame tr c ó b ng cách s d ng thu c tính frames nh sau: listFrame chính là top. M c frameset cao nh t có th c nh ngh a nh sau: <HTML> <HEAD> <TITLE>Frame Example </TITLE> <FRAMESET ROWS="90%.10%"> <FRAME SRC=muske13.frames[1] navigatorFrame chính là top.

Trong ví d trên.70%"> <FRAME SRC=CATEGORY. Các i t ng anchor.html s c t i vào upperFrame.JavaScript 49 <TITLE>Frame Example </TITLE> <FRAMESET COLS="30%.1. . forms. history. Không có các ch ng trình x lý s ki n cho các frame. file artist. n u b n thêm m t dòng sau vào navigatorFrame: <INPUT TYPE="button" VALUE="Titles only" onClick="top.frames[0].6.location='artist. links là thu c tính c a i t ng document.html) contentFrame (titles.HTM NAME="ListFrame"> <FRAME SRC=TITLES.frames[0]. i t ng document c t o ra b ng c p th <BODY> và </BODY>.frames[1] b) C p nh t m t frame (update) t B n có th c p nh t n i dung c a m t frame b ng cách s d ng thu c tính location a ch URL và ph i nh ch rõ v trí c a frame trong c u trúc.html) navigatorFrame listFrame contentFrame 4.frames[1] ho c top.frames[0]. IT NG DOCUMENT i t ng này ch a các thông tin v document hi n th i và cung c p các ph ng th c a thông tin ra màn hình.frames[0] chính là upperFrame.frames[0] top listFrame (category.html'"> thì khi nút ³Titles only´ c nh n.frames[0] ho c top.frames[1] chính là upperFrame. chính là top.HTM NAME="contentFrame"> </FRAMESET > </HEAD> <BODY> </BODY> </HTML> Khi ó k t qu hi n th c a ví d 2 gi ng ví d 1 nh ng s phân c p c a các frames l i khác h n: B n có th g i t i các frame trên b ng cách s d ng thu c tính m ng frames nh sau: upperFrame chính là top. và hai frame listFrame.html) upperFrame (muske13. M t s các thu c tính g n v i th <BODY>. S ki n onLoad và onUnLoad là cho i t ng window.html) navigatorFrame (navigator. contentFrame s b óng l i nh chúng ch a bao gi t n t i.2.

1. CÁC PH NG TH C document.anchors. i t ng anchor không có thu c tính. title . nh s l ng các anchor trong IT NG FORMS Các form c t o ra nh c p th <FORM> và </FORM>. anchor . location .M m t stream thu th p d li u vào c a các phwong th c write và writeln.expression2] . document.S d ng xác nh cookie. vlinkColor . document. Ph n l n các thu c tính c a i t ng form ph n ánh các thu c tính c a th <FORM>.writeln (expression1 [. cookie .M ng t t c các anchor trong document. links .Gi ng thu c tính LINK. Nó c xác nh b ng c p th <A> và </A>.expression2]. M i anchor c tham chi u b ng cách: document.URL y c a v n b n.M ng t t c các link trong document. nó có th c xác nh nh sau: document.N i dung c a th <TITLE>. IT NG ANCHORS anchor là m t o n v n b n trong document có th dùng làm ích cho m t siêu liên k t.expressionN] ) Gi ng ph ng th c trên nh ng khi h t m i bi u th c l i xu ng dòng.write(expression1 [.Gi ng thu c tính TEXT. bgColor ..Ngày cu i cùng v n b n c s a.. M ng anchor tham chi u n m i anchor có tên trong document. [.Gi ng nh thu c tính ALINK.[. document. fgColor .URL c a v n b n g i nó.M ng t t c các form trong document.Gi ng thu c tính VLINK. forms .length.8. 4.óng dòng d li u vào và a toàn b d li u trong b m ra màn hình.Xoá document hi n th i.clear . ph ng th c c ng nh ch ng trình x lý s ki n.expressionN ]) . linkColor .. lastModified .1.Vi t bi u th c HTML lên v n b n trông m t c a s xác nh.Gi ng thu c tính BGCOLOR. CÁC THU C TÍNH alinkColor ..JavaScript 50 4. document.7. referrer .open (["mineType"]) .close . Có m t vài ph n t (elements) là thu c tính c a i t ng forms: button checkbox hidden password .anchors [index] M ng anchor có m t thu c tính duy nh t là length xác document.

CÁC PH history. S M i m t form có th c tham chi u nh sau: document.forward() c s d ng tham chi u t i URL k ti p trong danh sách. Ph th c này mô ph ng m t click vào nút submit trên form. danh sách l a ch n encoding Xâu ch a ki u MIME c s d ng mã hoá n i dung c a form g i cho server.submit () .10. CÁC CH NG TRÌNH X LÝ S KI N ng onSubmit . CÁC THU C TÍNH action thu c tính ACTION c a th FORM.JavaScript 51 radio reset select submit text textarea Các ph n t này s c trình bày sau. Nó s không gây hi u ng gì n u ã n cu i c a danh sách. history.Ch t form i. ng trình x lý s ki n này c g i khi ng i s d ng chuy n d li u IT NG HISTORY c ng i t ng này c s d ng l u gi các thông tin v các URL tr c ng i s d ng s d ng. 4. 4.forms.13. elements M ng ch a t t c các thành ph n trong m t form (nh checkbox. .12.1. tr ng text.S l ng các URL trong NG TH C it ng.Xu t d li u c a m t form tên formName t i trang x lý.1.length.9.back() c s d ng tham chi u t i URL m i c th m tr c ây.1. Danh sách các URL c l u tr theo th t th i gian. c tham chi u qua m ng forms. method Thu c tính METHOD. target Xâu ch a tên c a c a s ích khi submit form 4. i t này không có ch ng trình x lý s ki n. length S l ng các thành ph n trong m t form.1. CÁC PH NG TH C formName.1.forms[index] 4. chúng có th l ng các form có th c xác nh nh sau: document. N u document ch a m t vài form. CÁC THU C TÍNH length . 4.11.

1.X y ra khi ng i s d ng nh n vào link. Các thu c tính c a i t ng link ch y u x lý v URL c a các siêu liên k t. Vi c tham chi u t i number trong các ph ng th c có th là s hay các bi u th c c náh giá là s h p l .Ph n ng d n c a URL (ví d /chap1/page2. Target .Gi ng thu c tính TARGET c a <LINK>. kho ng 2. M ng link ch a danh sách t t c các liên k t trong document.abc. Có th xác nh s l ng các link qua document.1.14. i t ng link c ng không có ph ng th c nào.logarit t nhiên c a 2.Tên c a host và domain (ví d ww. các hàm toán h c.com). có th s d ng URL t ng t : http://www.C ng truy n thông c s d ng cho máy tính host. href .693.abc.Giao th c c s d ng (cùng v i d u hai ch m) (ví d http:).H ng s Euler. kho ng 0.Câu truy v n tìm ki m có th cu i URL cho các script CGI. .html#topic3 4. 4. port .com/chap1/page2.abc.16.15.html). CÁC THU C TÍNH hash . i t ng Math không có ch ng trình x lý s ki n. l ng giác ph bi n. Pathname .1. n u s d ng location.length() Có th tham chi u t i m t liên k t q a document.com).links. URL g n nh t có ch a location là chu i con s c tham chi u. Search .JavaScript 52 history.718.Toàn b URL cho document hi n t i. Chú ý r ng ây th ng là c ng ng m nh và ít khi c ch ra. th ng là c ng ng m nh. .Ph n hostname:port c a URL (ví d www. IT NG MATH i t ng Math là i t ng n i t i trong JavaScript. Protocol . CÁC THU C TÍNH E LN2 . Host . N u delta c s d ng thì vi c d ch chuy n lên phía trên khi delta d ng và xu ng phía d i khi delta âm.X y ra khi con chu t di chuy n qua link.Tên anchor c a v trí hi n th i (ví d topic3).go (delta | "location") c s d ng chuy n lên hay chuy n xu ng delta b c hay di chu n n URL xác nh b i location trong danh sách.links [index] xác nh các thu c tính c a i t ng link. Các thu c tính c a i t ng này ch a nhi u h ng s toán h c. onMouseOver . IT NG LINKS i t ng link là m t o n v n b n hay m t nh c xem là m t siêu liên k t. CÁC CH NG TRÌNH X LÝ S KI N onClick . Hostname . 4.

Tr l i c n b c 2 c a number.max (num1.Tr l i giá tr arc cosine (theo radian) c a number. kho ng 1.. CÁC PH NG TH C Math.414. SQRT1_2 . Math.. Math. Math. kho ng 3.Tr l i giá tr cosine c a number. Math. Nó cung c p nhi u ph ng th c có ích x lý v th i gian và ngày tháng.Tr l i giá tr base lu th a exponent. 4.num2) . Math. IT NG DATE i t ng Date là i t ng có s n trong JavaScript.Tr l i s nguyên nh nh t l n h n ho c b ng number.asin (number) .random (r) . Math. Math.Tr l i ngày trong tháng (1-31) cho dateVar.302.floor (number) .sqrt (number) . ví d : dateVar = new Date ('August 16. v i e là h ng s Euler.18.Tr l i giá tr tuy t i c a number. Math.logarit c s 2 c a e.442. PI .Tr l i tag c a number.C n b c 2 c a 0.logarit t nhiên c a 10.Tr l i giá tr arc tan (theo radian) c a number. SQRT2 . 4.Tr l i ngày trong tu n (0=ch nh t.6=th b y) cho dateVar.Giá tr c a T.Tr l i giá tr l n nh t gi a num1 và num2 Math.Tr l i logarit t nhiên c a number. Math..exp (number) . Giá tr c a number ph i n mg gi a -1 và 1. Math. Giá tr c a number ph i n mg gi a -1 và 1.abs (number) .Tr l i s nguyên l n nh t nh h n ho c b ng number.Tr l i m t s ng u nhiên gi a 0 và 1. 1996 20:45:04').acos (number) . Các ph ng th c gi i thi u trong ph n này s d ng i t ng Date dateVar.cos (number) .atan (number) .Tr l i giá tr arc sine (theo radian) c a number. kho ng 2.C n b c 2 c a 2. kho ng 0.Tr l i giá tr c a number làm tròn t i s nguyên g n nh t.17. LOG2E . Math.Tr l i sin c a number. Math.Tr l i giá tr nh nh t gi a num1 và num2. Math. Math.1.sin (number) . . CÁC PH NG TH C dateVar. dateVar.getDay() . i t ng Date không có thu c tính và ch ng trình x lý s ki n.707.log (number) .tan (number) . Math. Ph n l n các ph ng th c date u có m t i t ng Date i cùng.getDate() . kho ng 1.JavaScript 53 LN10 .num2) .ceil (number) .Tr l i giá tr e^ number.pos (base.round (number) . Phwong th c này ch th c hi n c trên n n t ng UNIX.14159.min (num1.exponent) .1.5.

hours] [. dateVar.K t qu gi ng nh th <FONTSIZE = size>. dateVar.getTimeZoneOffset() . str.italics() .t phút là minutes cho dateVar.K t qu gi ng nh th <BLINK> trên chu i str. dateVar. Date.minutes] [. . Chu i str c tìm t trái sang ph i.t th i gian là value.getTime() .t n m là years cho dateVar.Phân tích chu i dateStr và tr l i s l ng các mili giây tính t 00:00:00 ngày 01/01/1970.toGMTString() .Tr l i giây (0-59) cho dateVar. dateVar.getYear()-Tr l i n m cho dateVar.K t qu gi ng nh th <FONTCOLOR = color>.setDay(day) . str. day [.bold() .blink() .K t qu gi ng nh th <I> trên chu i str.getSeconds() .seconds]) .Tr l i phút (0-59) cho dateVar.K t qu gi ng nh th <TT> trên chu i str. 4. str. dateVar. dateVar.19.index]) . dateVar. trong ó value bi u di n s l ng mili giây t 00:00:00 ngày 01/01/10970.K t qu gi ng nh th <BIG> trên chu i str. CÁC PH NG TH C str.Tr l i s l ng mili giây t 00:00:00 01/01/1970 GMT. dateVar.Tr l i ký t th a trong chu i str. Tham s index có th c s d ng xác nh v trí b t u tìm ki m trong chu i.Tr l i d ch chuy nb ng phút c a gi a ph ng hi n t i so v i gi qu c t GMT.anchor (name) c s d ng t o ra th <A> (m t cách ng). Tham s name là thu c tính NAME c a th <A>. str.t gi là hours cho dateVar. str. dateVar.setHours(hours) . dateVar.Tr l i v trí trong chu i str v trí xu t hi n u tiên c a chu i srchStr. Date.toLocaleString()-Tr l i chu i bi u di n dateVar theo khu v c th i gian hi n th i.setSeconds(seconds) . str. IT NG STRING i t ng String là i t ng c xây d ng n i t i trong JavaScript cung c p nhi u ph ng th c thao tác trên chu i.getMinutes() . dateVar.t tháng là months cho dateVar. str.fontcolor() .Tr l i gi (0-23) cho dateVar.Tr l i s l ng các mili giây t 00:00:00 ngày 1/1/1970.K t qu gi ng nh th <BOLD> trên chu i str.fontsize(size) .t giây là seconds cho dateVar.setTime(value) .index0f(srchStr [.1. str.getHours() .JavaScript 54 dateVar.setMonths(months) .big() .UTC (year. dateVar. i t ng này có thu c tính duy nh t là dài (length) và không có ch ng trình x lý s ki n. month.fixed() .setYear(years) . str.charAt(a) .t ngày trong tháng là day cho dateVar.setMinutes(minutes) .Tr l i chu i bi u di n dateVar d i d ng GMT. dateVar.parse (dateStr) . dateVar.

T o ra m t subscript cho chu i str.toUpperCase() i chu i str thành ch hoa.K t qu gi ng nh th <STRIKE> trên chu i str. Khi ó.small() .b) .toLowerCase() i chu i str thành ch th ng. CÁC PH N T C A IT NG FORM Form c t o b i các ph n t cho phép ng i s d ng a thông tin vào.K t qu gi ng nh th <SMALL> trên chu i str.link(href) c s d ng t o ra m t k t n i HTML ng cho chhu i str. Tham s href là URL ích c a liên k t.sub() . str. gi ng th <SUP>.lastIndex0f(srchStr [.T o ra superscript cho chu i str. str.JavaScript 55 str. Các ký t c m t trái sang ph i b t u t 0.Tr l i v trí trong chu i str v trí xu t hi n cu i cùng c a chu i srchStr. str.substring(a. str. Chu i str c tìm t ph i sang trái. str. B ng ?: Các ph n t c a form Ph n t Mô t Là m t nút b m h n là nút submit hay nút reset (<INPUT TYPE="button">) M t checkbox (<INPUT TYPE="checkbox">) Là m t ph n t t i file lên cho phép ng i s d ng g i lên m t file button checkbox FileUpload hidden password radio reset select submit text (<INPUT TYPE="file">) M t tr ng n (<INPUT TYPE="hidden">) u hi n M t tr ng text nh p m t kh u mà t t c các ký t nh p vào th là d u (*)(<INPUT TYPE="password">) M t nút b m (<INPUT TYPE="radio">) M t nút reset(<INPUT TYPE="reset">) M t danh sách l a ch n (<SELECT><OPTION>option1</OPTION> <OPTION>option2</OPTION></SELECT> ) M t nút submit (<INPUT TYPE="submit">) M t tr ng text (<INPUT TYPE="text">) . gi ng th <SUB>. str. str.sup() . str.index]) . n i dung (ho c giá tr ) c a các ph n t s c chuy n n m t ch ng trình trên server qua m t giao di n c g i là Common Gateway Interface(Giao ti p qua m t c ng chung) g i t t là CGI S d ng JavaScript b n có th vi t nh ng o n scripts chèn vào HTML c a b n làm vi c v i các ph n t c a form và các giá tr c a chúng. Tham s index có th c s d ng xác nh v trí b t u tìm ki m trong chu i.strike() .Tr l i chu i con c a str là các ký t t v trí th a t i v trí th b.

1. b n có th ch nh s a script nh giá bi u th c khi button c b m.1. m t tr ng text hay m t checkbox.HIDE FROM OTHER BROWSERS function calculate(form) { form..20. } .entry.21. ch có hai nút b m có s n là submit và reset b i v d li u trong form ph i c g i t i m t vài a ch URL (th ng là CGI-BIN script) x lý và l u tr ..value = eval(form. thay vì s d ng onChange. THU C TÍNH TYPE Trong m i ph n t c a form u có thu c tính type. K t h p v i nó là cách th c duy nh t click.Ph n t buttton có kh n ng m r ng cho phép ng i l p trình JavaScript có th vi t c m t o n mã l nh JavaScript th c thi vi c thêm vào m t nút b m trong m t script. Ch có m t th s ki n duy nh t i v i button là onClick. M t ph n t button c ch nh rõ khi s d ng th INPUT: <INPUT TYPE="button" NAME="name" VALUE= "buttonName"> Trong th INPUT. PH N T BUTTON nh rõ ki u c a Trong m t form HTML chu n. name là tên c a button.value). Trong ví d sau. Ví d : nh giá m t form s d ng ph n t button.results. <HTML> <HEAD> <TITLE>button Example</TITLE> <SCRIPT LANGUAGE= "JavaScript"> <!-. thu c tính VALUE có ch a nhãn c a button s c hi n th trên Navigator c a browser. Xâu ó có th là m t trong các giá tr sau: Text field: "text" Radio button: "radio" Checkbox: "checkbox" Hidden field: "hidden" Submit button: "submit" Reset button: "reset" Password field: "password" Button: "button" Select list: "select-one" Multiple select lists: "select-multiple" Textarea field: "textarea" 4.JavaScript 56 textArea M i ph n t có th M t tr c ng text cho phép nh p vàp nhi u dòng t tên JavaScript truy nh p n chúng qua tên <TEXTAREA>default text</TEXTAREA>) 4. ó là m t xâu ch ph n t c a vào nh nút b m.

value).JavaScript 57 // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <FORM METHOD=POST> Enter a JavaScript mathematical expression: <INPUT TYPE="text" NAME="entry" VALUE=""> <BR> The result of this expression is: <INPUT TYPE=text NAME="results" onFocus="this.checked) { // if(2) form.callingField) { if (callingField == "result") { // if(1) if (form."> </FORM> </BODY> </HTML> 4. Cách th c và thu c tính checked defaultChecked name value click() Mô t Cho bi t tr ng thái hi n th i c a checkbox (thu c tính) Cho bi t tr ng thái m c Cho bi t tên c a ph n t tính) nh c a ph n t (thu c tính) c ch nh trong th INPUT (thu c c ch nh trong th Cho bi t giá tr hi n th i c a ph n t INPUT (thu c tính) Mô t m t click vào checkbox (Cách th c) Ph n t checkbox ch có m t th s ki n là onClick Ví d : T o h p checkbox nh p vào m t s r i l a ch n tính nhân ôi và bình ph <HTML> <HEAD> <TITLE>checkbox Example</TITLE> <SCRIPT> <!-.sqrt(form.blur()."> <BR> <INPUT TYPE="button" VALUE="Calculate" onClick="calculate(this.entry.22.1.HIDE FROM OTHER BROWSERS function calculate(form. PH N T CHECKBOX Các ph n t checkbox có kh n ng b t t t dùng ch n ho c không ch n m t thông tin.result. B ng .square. Các checkbox có nhi u thu c tính và cách th c h n button. B ng d i ây là danh sách các thu c tính và các cách th c c a ph n t checkbox. } ng: .form). Các thu c tính và cách th c c a ph n t checkbox.value = Math.

entry.name).entry.checked) { // if(3) form.sqrt(form.value)."> <BR> Action (default double): <INPUT TYPE=checkbox NAME=square onClick="calculate(this.result.entry. m t th c thi c m c nh s nhân ôi giá tr c a nó. } else { form. } //enfzd if(3) }//end if(1) }//end function // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <FORM METHOD=POST> Value: <INPUT TYPE="text" NAME="entry" VALUE=0 onChange="calculate(this. Th s ki n onClick trong checkbox c nh ngh a: (<INPUT TYPE=checkbox NAME=square onClick= "calculate( this. b n ã th y cách s d ng th s ki n onClick c ng nh thu c tính checked là m t giá tr ki u Boolean có th dùng làm i u ki n trong câu l nh if.square."> ) Khi ó n u ng i dùng thay i m t câu l nh khác.value = Math.name).entry.value=form."> </FORM> </BODY> </HTML> Trong script này.square.else B n có th thêm m t checkbox tên là square vào form.this. } //end if(2) } else{ if (form.this. } .JavaScript 58 else { form.result. ch ng trình s l y giá tr c a nó.name).callingField) { if (callingField == "result") { // if (1) if (form.result.checked) { // if (2) form.value * 2.form.name).. form s c tính toán l i. n u không.result. this.entry.value. t o ra s m r ng cho checkbox. b n có th thay i hàm calculate() nh sau: function calculate(form.value*form.this.form. N u h p này c check..value / 2.value = form."> Square <BR> Result: <INPUT TYPE="text" NAME="result" VALUE=0 onChange="calculate(this.form.value = form.form.

value. ch có m t nút c ch n trong b t k m t th i i m nào. i t ng Password có 3 thu c tính gi ng tr ng text là: defaultValue. Ph n t file Upload c ch nh rõ trong JavaScript b ng i t ng FileUpload.23. onBlur.26. Không gi ng v i hai ph n t trên. blur().checked) { // if (3) form.value=form. i t ng hidden ch có hai thu c tính là name và value.value = form.result.1.JavaScript 59 } } else { form. 4.result. Ví d dòng l nh sau t o ra m t nhóm radio có ba nút tên là test: <INPUT TYPE="radio" NAME="test" VALUE="1" chECKED>1<BR> <INPUT TYPE="radio" NAME="test" VALUE="2">2<BR> <INPUT TYPE="radio" NAME="test" VALUE="3">3<BR> . Không có cách th c hay th s ki n nào cho i t ng này.entry.result. PH N T PASSWORD i t ng Password là i t ng duy nh t trong các i t ng c a form mà khi gõ b t k ký t nào vào c ng u hi n th d u sao(*)..1.value * 2. and select() ) và t ng ng v i các th s ki n: onFocus. and onSelect. tr ng Password có nhi u cách th c h n(focus().25.entry.value*form.value = form. PH N T HIDDEN Ph n t hidden là ph n t duy nh t trong s t t c các ph n t c a form không c hi n th trên Web browser.24.1. Không có cách th c hay th file cho i t ng này. Khi nhi u radio c k t h p thành m t nhóm. PH N T RADIO i t ng radio g n gi ng s b t t t checkbox khi có hai nút radio k t h p thành m t nhóm. ó c ng là nh ng giá tr xâu gi ng các i t ng khác. //end if(2) else { if (form. M i ng i có th s d ng trong JavaScript l u các giá tr trong su t m t script và tính toán không c n form. name và value. 4. } else { form.entry.value / 2. Ph n này s c nói k h n trong i t ng text.square. Nó cho phép a vào nh ng thông tin bí m t nh ng ký m t kh u. i t ng ch có hai thu c tính là name và value.entry. Tr ng hidden có th s d ng l u các giá tr c n thi t g it i server song song v i s xu t ra t form (form submission) nh ng nó không c hi n th trên trang.1.. 4. PH N T FILE UPLOAD Ph n t này cung c p cho form m t cách ng i s d ng có th ch rõ m t file a vào form x lý. c hai u là giá tr xâu nh các i t ng khác. } // end if (3) } // end if (1) } 4.

Có m t vài thu c tính ki m tra tr ng thái hi n th i c a m t nhóm nút radio.value = Math. Do m t nhóm radio g m nhi u ph n t radio. nên chúng c t trong m t m ng các nút radio và c ánh s t 0.callingField) { if (callingField == "result") { if (form.test[1]" và có th ki m tra giá tr c a nó b ng "testform.checked) { form.test[1]. } } else { if (form.entry.checked" minh ho rõ cách dùng i t ng radio.result. ta xem ví d sau: Ví d : <HTML> <HEAD> <TITLE>radio button Example</TITLE> <SCRIPT> <!-. } else { form. } else { form.action[1].value).result.value=form. b n có th g i t i nút radio th hai b ng tên "testform. n u nhóm ó n m trong m t form có tên là "testform".JavaScript 60 Nhóm các nút radio l i b ng cách t cho chúng có cùng m t tên trong các th INPUT. Các thu c tính và cách th c c a i t ng radio.value.value*form.value * 2. radio ch có m t th s ki n là onClick.sqrt(form.result.action[1]. Thu c tính và cách th c checked defaultChecked index length name value click() Mô t Mô t tr ng thái hi n th i c a ph n t radio (thu c tính) Mô t tr ng thái m c nh c a ph n t (thu c tính) c ch n hi n th i trong m t nhóm c ch nh trong th INPUT (thu c c nh ra trong th INPUT Mô t th t c a nút radio Mô t tên c a ph n t tính) Mô t t ng s nút radio trong m t nhóm Mô t giá tr hi n th i c a ph n t (thu c tính) Mô ph ng m t click trên nút radio (cách th c) C ng nh checkbox.HIDE FROM OTHER BROWSERS function calculate(form. B ng sau hi n th các thu c tính và cách th c c a i t ng radio.value / 2. Trong ví d nhóm radio có tên test trên.entry.entry.result.entry. Không có b t k m t i t ng form nào có thu c tính index và length.entry. B ng? .checked) { form.value = form. } } .value = form.

Ví d : <HTML> <HEAD> <TITLE>reset Example</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-.action[1]. H u h t nh ng ng i l p trình khong s d ng th s ki n onClick c a nút reset ki m tra giá tr c a nút này."> Double<BR> <INPUT TYPE="radio" NAME="action" VALUE="square" onClick="calculate(this.name). b n ch c n thay i tham chi u n hàm calculate() t form."> </FORM> </BODY> </HTML> Trong ví d này.form. B ng cách này.value = "Cleared". b n có th tác ng ng c l i click vào nút Reset. s thay i t checkbox trên là r t khó nh n bi t. m t th s ki n onClick.value2.this. Ví d sau minh ho cách s d ng nút reset xoá các giá tr c a form."> Square <BR> Result: <INPUT TYPE=text NAME="result" VALUE=0 onChange="calculate(this. i t ng reset có hai thu c tính là name và value.27. Thay cho m t checkbox trong ví d tr c. ây ta s d ng hai nút radio v i hai giá tr khác nhau: double và square Nh ta ã bi t có th truy nh p n các nút radio qua m t m ng.name). } // STOP HIDING FROM OTHER BROWSERS --> //SCRIPT> .value1.form. do ó hai nút này có th truy nh p b ng action[0] và action[1]. C ng gi ng i t ng button.square.this.name)."> <BR> Action:<BR> <INPUT TYPE="radio" NAME="action" VALUE="twice" onClick="calculate(this. i t ng reset th ng dùng xoá form.1.checked thành form.checked.this.value = "Form". form.form. PH N T RESET S d ng i t ng reset.name).form.JavaScript 61 } // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <FORM METHOD=POST> Value: <INPUT TYPE="text" NAME="entry" VALUE=0 onChange="calculate(this.this.HIDE FROM OTHER BROWSERS function clearForm(form) { form. và m t cách th c click(). 4.

i t ng này t o ra m t vài thành ph n t ng t các button và radio. danh sách các l a ch n c ch a trong m t m ng c ánh s t 0. N u s d ng thu c tính MULTIPLE. B sung thêm vào m ng option. Các danh dách c xây d ng b ng cách s d ng hai th SELECT và OPTION. b t menu drop-down trong m t menu cu n v i hai thành ph n hi n th . b n có th cho phép ng i s d ng l a ch n nhi u h n m t giá tr trong danh sách l a ch n: <SELECT NAME="test" SIZE=2 M ULTIPLE> <OPTION SELECTED>1 <OPTION>2 <OPTION>3 </SELECT> Danh sách l a ch n trong JavaScript là i t ng select.JavaScript 62 </HEAD> <BODY> <FORM METHOD=POST> <INPUT TYPE="text" NAME="value1"><BR> <INPUT TYPE="text" NAME="value2"><BR> <INPUT TYPE="reset" VALUE="Clear Form" onClick="clearForm(this.form).2 và 3. m ng là m t thu c tính c a i t ng select g i là options.28. có ch a s th t c a option c l a ch n hi n th i."> </FORM> </BODY> </HTML> 4. V i các thành ph n l a ch n. S d ng thu c tính SIZE b n có th t o ta m t danh sách cu n v i s ph n t hi n th l n th nh t. C vi c l a ch n các option và t ng ph n t option riêng bi t u có nh ng thu c tính.1. ng i s d ng ch có th có m t l a ch n. ph n t select có thu c tính selectedIndex. Trong tr ng h p này. Ví d : <SELECT NAME="test"> <OPTION SELECTED>1 <OPTION>2 <OPTION>3 </SELECT> t o ra ba thành ph n c a menu th drop-down v i ba l a ch n 1. M i option trong danh sách l a ch n u có m t vài thu c tính: . b n có th s d ng nh sau: <SELECT NAME="test" SIZE=2> <OPTION SELECTED>1 <OPTION>2 <OPTION>3 </SELECT> Trong c hai ví d trên. PH N T SELECT Danh sách l a ch n trong các form HTML xu t hi n menu drop-down ho c danh sách cu n c c a các i t ng có th c l a ch n.

options[1].selectedIndex = 1 example. thì th onFocus s th c hi n. và khi ó giá tr c a thu c tính s là: example.JavaScript 63 DEFAULTSELECTED: cho bi t option có c m c nh là l a ch n trong th OPTION hay không. i t ng select có ba th s ki n. b n ã t o ra m t danh sách l a ch n nh sau: <SELECT NAME="example" onFocus="react(). Tuy nhiên. Ví d b n có danh sách l a ch n sau: <SELECT NAME="example" onFocus="react()."> <OPTION SELECTED VALUE="Number One">1 <OPTION VALUE="The Second">2 <OPTION VALUE="Three is It">3 </SELECT> Khi l n u tiên hi n th b n có th truy nh p t i các thông tin sau: example.options[2].options[1]. và thu c tính value m i giá tr ch ra trong th OPTION.options[2].selected = true S a các danh sách l a ch n Navigator 3.options[0].defaultSelected = true example.options[0].text = "3" example. onChange.text = "two". trong ví d tr c. onFocus. SELECTED: cho bi t tr ng thái hi n th i c a option TEXT: có ch a giá tr c a dòng text hi n th trên menu cho m i option. chúng u là nh ng i t ng text. INDEX: ch a giá tr s th t c a option h ên th i trong m ng option."> <OPTION SELECTED VALUE="Number One">1 <OPTION VALUE="The Second">2 <OPTION VALUE="Three is It">3 </SELECT> Có th thay i c dòng text hi n th trên nút th hai thành "two" b ng: example.defaultSelected = true example.selected = false N u ng i s d ng kích vào menu và l a ch n option th hai.value = "The Second" example.value = "The Second" example.0 cho phép thay i n i dung c a danh sách l a ch n t JavaScript b ng cách liên k t các giá tr m i cho thu c tính text c a các th c th trong danh sách. Có th thêm các l a ch n m i vào danh sách b ng cách s d ng i t ng xây d ng Option() theo cú pháp: .text = "3" example.options[1].selectedIndex = 0 example.options[1]. i t ng select không có các cách th c c nh ngh a s n. Ví d .options[1]. ó là onBlue.

B ng sau mô t các thu c tính và cách th c c a i t ng text. i t ng submit có s n thu c tính name và value. onSelect. T ng t nh tr ng Password. i t ng text có ba thu c tính:defautValue. Nút này a thông tin hi n t i t các tr ng c a form t i a ch URL c ch ra trong thu c tính ACTION c a th form s d ng cách th c METHOD ch ra trong th FORM. 1. defaultSelected. selectListName. name và value.options[index] = null. onFocus. Ba cách th c mô ph ng s ki n c a ng i s d ng: focus().1 Ph n t submit Nút Submit là m t tr ng h p c bi t c a button. Gi ng nh i t ng button và reset.JavaScript 64 newOptionName = new Option(optionText. Chú ý các s ki n này ch th c hi n khi con tr ã c kích ra ngoài tr ng text. onChange.options[index] = newOptionName. i t ng này c liên k t vào danh sách l a ch n c th c hi n b ng index. defaultSelected và selected nh trên ã nh ra nh ng giá tr ki u Boolean. c ng nh nút Reset. Cách th c và thu c tính defaultValue name value focus() blur() select() Mô t Ch ra giá tr m c nh c a ph n t trong th INPUT (thu c tính) Tên c a i t (thu c tính) ng c ch ra c ch ra trong th INPUT Giá tr hi n th i c a ph n t (thu c tính) Mô t vi c con tr t i tr Mô t vi c con tr r i tr ng text (cách th c) ng text (cách th c) ng text Mô t vi c l a ch n dòng text trong tr (cách th c) . optionValue. Có 4 th s ki n là: obBlur. B ng . Các l a ch n có th b xoá trong danh sách l a ch n b ng cách g n giá tr null cho i t ng mu n xoá selectListName. cách th c click() và th s ki n onClick. Vi c t o i t ng option() này v i dòng text c ch tr c. selected). tr ng text cho phép nh p vào m t dòng n. blur() và select().2 Ph n t Text Ph n t này n m trong nh ng ph n t hay c s d ng nh t trong các form HTML. nh ng các ký t c a nó hi n ra bình th ng.Các thu c tính và cách th c c a i t ng text. 1.

second.first.HIDE FROM OTHER BROWSERS function echo(form.first.3 Ph n t Textarea Th TEXTAREA cung c p m t h p cho phép nh p s dòng text do ng i thi t k nh tr c."> </FORM> </BODY> </HTML> 1.form.this. else form.value = form."> <INPUT TYPE=text NAME="second" onChange="echo(this. Ví d .name).JavaScript 65 M t chú ý quan tr ng là có th gán giá tr cho tr ng text b ng cách liên k t các giá tr v i thu c tính value. và m i dòng text c a vào tr ng text th hai l i c l p l i trong tr ng texxt th nh t. T ng c p nh t các tr ng text .this.value.value = form. Kh n ng này c a nó có th áp d ng t ng c p nh t ho c thay i d li u. <HTML> <HEAD> <TITLE>text Example</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-.second. Trong ví d sau ây. d òng text c a vào tr ng u tiên c l p l i trong tr ng text th hai.value. Ví d : <TEXTAREA NAME="fieldName" ROWS=10 COLS=25> Default Text Here </TEXTAREA> .form.name). } // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <FORM> <INPUT TYPE=text NAME="first" onChange="echo(this.currentField) { if (currentField == "first") form.

các th s ki n onBlur. document.forms[1]. onChange.testform. nó r t h u d ng cho phép g i t i các form có liên quan trong cùng m t trang. b n có hai tr ng text nh p và n m trên hai form c l p v i nhau. và blur(). S d ng m ng form b n có th t ng tác trên các giá tr c a các tr ng trong hai form cùng m t lúc khi ng i s d ng thay i giá tr trên m t form.one. 3. onForcus.testform."> . M ng elements[] Các i t ng c a form có th c g i t i b ng m ng elements[].m i hàng 25 ký t . document. M ng form[] c p n ây có th có nhi u xác nh các nhân c a form trên cùng m t trang và have information in a single field match in all three forms. Thu c tính này th ng c s d ng trong các m i quan h tu n t c a các ph n t h n là dùng tên c a chúng. onSelect.value = this. 2. C ng nh ph n t text . document. document.three.value. M ng form[] Các th s ki n c thi t k làm vi c v i các form riêng bi t ho c các tr ng m t th i i m.elements[0]. name.testform. và value.JavaScript 66 ví d này t o ra m t tr ng text cho phép a vào 10 hàng .forms[] thay vì g i b ng tên form. h n n a còn có th g i document.elements[2]. Trong script này. select(). Dòng "Defautl Text Here"s xu t hi n trong tr ng này vào l n hi n th u tiên.elements[1]. <HTML> <HEAD> <TITLE>forms[] Example</TITLE> </HEAD> <BODY> <FORM METHOD=POST> <INPUT TYPE=text onChange="document. JavaScript cung c p cho b n các thu c tính defaultValue.two.elements[0]. các cách th c focus(). Có th g i b ng document. Ví d b n t o ra m t form sau: <FORM METHOD=POST NAME=testform> <INPUT TYPE="text" NAME="one"> <INPUT TYPE="text" NAME="two"> <INPUT TYPE="text" NAME="three"> </FORM> b n có th g i t i ba thành ph n này nh sau: document.

forms["name"] ho c document.value. b n c ng có th truy nh p n form b n g tên form c t trong th FORM: <FORM METHOD=POST NAME="name"> Khi ó b n có th g i là document.value = this.submit type onSubmit button checkbox cách th c JavaScript Mô t vi c submit m t form HTML tính ánh x ki u c a m t ph n t thành m t xâu. th s ki n cho vi c submit Thu c tính ki u cho các nút b m c a HTML (<INPUT TYPE=button>) Thu c tính ki u cho các checkbox c a HTML (<INPUT TYPE=checkbox>) form .name 4.action form. tr ng text.JavaScript 67 </FORM> <FORM METHOD=POST> <INPUT TYPE=text onChange="document.elemrnts Ki u Mô t cách th c JavaScript Mô t vi c d ch chuy n con tr t m t ph n t cách th c JavaScript Xâu ch a giá tr c a thu c tính ACTION trong th FORM thu c JavaScript thu c JavaScript thu c JavaScript thu c JavaScript thu c JavaScript Th s ki n thu c tính HTML thu c tính HTML tính m ng ch a danh sách các ph n t trong form (nh checkbox.forms[0].encoding form.target form.name form. danh sách l a ch n) tính xâu ch a ki u MIME s d ng khi chuy n thông tin t form t i server tính Xâu ch a giá tr thu c tính NAME trong th FORM tính Xâu ch a tên c a s form submition ích b i m t form. Xem l i các l nh và m r ng L nh/ M r ng blur() form.elements[0]."> </FORM> </BODY> </HTML> M t khác.

password. checkbox. textarea) cách th c JavaScript Mô t vi c con tr r i kh i m t ph n . submit) tính Giá tr ki u Boolean mô t m t l a ch n check(checkbox.JavaScript 68 pasword thu c tính HTML Thu c tính ki u cho các dòng pasword c a HTML(<INPUT TYPE=password>) Thu c tính ki u cho các nút radio c a HTML (<INPUT TYPE=radio>) Thu c tính ki u cho các nút reset c a HTML (<INPUT TYPE=reset>) H p th cho danh sách l a ch n ch ra các l a ch n trong danh sách l a ch n(<SELECT><OPTION>Option 1<OPTION>Option 2</SELECT>) Thu c tính ki u c a nút submit (<INPUT TYPE=submit>) Thu c tính ki u c a tr ng trong form (<INPUT TYPE=text>) H p th cho nhi u dòng (<TEXTAREA> defautl </TEXTAREA>) text text radio reset SELECT OPTION thu c tính HTML thu c tính HTML th HTML th HTML submit text TEXTAREA thu c tính HTML thu c tính HTML Th HTML name value thu c JavaScript thu c JavaScript tính Xâu ch a tên ph n t HTML (button. checkbox. password.. text.. radio button. checkbox. reset.) tính Xâu ch a giá tr hiên th i c a m t ph n t HTML(button.. checkbox.. radio button) tính Xâu ch a giá tr m c nh c a m t ph n t HTML (password. text. textarea) checked defaultChecked focus() blur() cách th c JavaScript Mô t vi c con tr t i m t ph n t (password.) click() onClick cách th c JavaScript Mô t vi c kích vào m t ph n t trên form (button.password) thu c JavaScript thu c JavaScript thu c JavaScript tính Th s ki n cho s ki n kích (button. selection list.

text. selection textarea) ki n blur list.JavaScript 69 t select() onFocus() (password. selection list. textarea) Th s ki n cho s (password. onBlur Th s ki n onChange Th s ki n Th s ki n cho s ki n khi giá tr c a tr ng thay i (password. textarea) cách th c JavaScript Mô t vi c l a ch n dòng text trong m t tr ng (password. text. textarea) Th s ki n khi ng i s d ng ch n dòng text trong m t tr ng (password. text. textarea) Th s ki n Th s ki n cho s ki n focus(password. textarea) tính Là m t s nguyên mô t l a ch n hi n th i trong m t nhóm l a ch n (radio button) tính S nguyên mô t t ng s các l a ch n trong m t nhóm các l a ch n (radio button) tính Giá tr Boolean mô t khi có m t l a ch n c t là m c nh (seledtion list) tính M ng các l a ch n trong danh sách l a ch n tính Dòng text hi n th cho m t thành ph n c a menu trong danh sách l a ch n H p th cho các b ng HTML H p th cho các hàng c a m t b ng HTML H p th cho các ô c a m t hàng trong m t b ng HTML Là thu c tính c a th TD mô t trong m t ô c a b ng có nhi u c t Là thu c tính c a th TD mô t trong onSelect Th s ki n index thu c JavaScript thu c JavaScript thu c JavaScript thu c JavaScript thu c JavaScript th HTML th HTML th HTML length dafautlSelected options text TABLE TR TD COLSPAN ROWSPAN thu c tính HTML thu c tính HTML . text. text. selection list. text.

forms[] thu c JavaScript string. thu c JavaScript tính Giá tr nguyên c a s th t cu i cùng trong xâu string ký t Math.length .JavaScript 70 m t ô c a b ng có nhi u hàng BODER thu c tính HTML Là thu c tính c a th TABLE mô t r ng ng vi n c a b ng document.floor() string.substring() tính m ng c a các i t ng form v i m t danh sách các form trong m t document cách th c JavaScript Tr l i m t xâu con c a xâu string t tham s v trí ký t u n v trí ký t cu i cách th c JavaScript Tr l i m t giá tr nguyên ti p theo nh h n giá tr c a tham s a vào.

Ki u m ng này c hi u nh m t m ng có kh n ng liên k t b i m i m t ph n t trong ó u có th liên k t n m t giá tr xâu nào ó. T O CÁC IT NG M I C JavaScript client-side và server-side u có m t s i t ng c nh ngh a tr c. m t i t ng trong JavaScript có các thu c tính i kèm v i nó.2.model = Mustang myCar. n u b n ch mu n t o ra m t i t ng duy nh t c a m t ki u i t ng. B n có th truy nh p n các thu c tính c a nó b ng cách g i : objectName.propertyName C tên i t ng và tên thu c tính u nh y c m.year = 69. model và year c a nó nh sau: myCar. Ví d . Tuy nhiên. th c ra chúng ch khác nhau v cách giao ti p v i cùng m t c u trúc d li u. B n có th l y các thu c tính có tên make.´+ i+ ³=´ + obj[i] + ³\n´ return result } Khi g i hàm show_props(myCar.make = Ford myCar. B n nh ngh a m t thu c tính b ng cách gán cho nó m t giá tr . obj_name) { var result=´´ for (i in obj) result=result+ obj_name + ³.year = 69. hàm sau ây s hi n th các thu c tính c a m t i t ng thông qua tham s v ki u i t ng ó và tên i t ng. b n có th t o nó .make = ³Ford³ myCar. Có m t m ng l u tr t p h p các giá tr tham chi u t i t ng bi n. b n c ng có th t o ra nh ng i t ng c a riêng b n.´myCar´) s hi n lên: myCar.model = ³Mustang³ myCar. Trong JavaScript 1. gi s có m t i t ng tên là myCar (trong tr ng h p này gi s i t ng này ã t n t i s n sàng). Ví d c ng có th truy nh p t i các thu c tính c a i t ng myCar trên b ng m ng nh sau: myCar[make] = ³Ford³ myCar[model] = ³Mustang³ myCar[year] = 69. function show_props (obj. MÔ HÌNH IT IT NG (OBJECT MODEL) NG VÀ THU C TÍNH Nh ã bi t. minh ho vi c mày c th c hi n nh th nào. Thu c tính và m ng trong JavaScript có quan h m t thi t v i nhau.JavaScript 71 5.

wheels:4.0. m i l n m ng ó xu t hi n trong các bi u th c.. sau ó t o ra các i t ng có ki u c a hàm ó b ng toán t new 5. b n có th t o ra m t i t ng b ng cách s d ng m t kh i t o i t ng. n u s d ng vi c kh i t o này trong m t hàm thì m i l n g i hàm. trong Navigator 4.JavaScript 72 b ng cách s d ng kh i t o i t ng. arrayName là tên c a m ng m i. B n không c n ph i ch nh rõ t t c các ph n t trên m ng m i.1.2}} Chú ý r ng thu c tính engine c ng là m t i t ng v i các thu c tính c a nó Trong Navigator 4.elementN] Trong ó. JavaScript s t o ra m t i t ng và g n nó vào bi n x n u bi u th c condition c ánh giá là úng Còn ví d sau t o ra m t i t ng myHonda v i 3 thu c tính: myHonda={color:´red´. m i l n i t ng ó xu t hi n trong các bi u th c. m ng s c kh i t o m tl n Ví d 1: T o m t m ng coffees v i 3 ph n t và dài c a m ng là 3: . S D NG KH I T O I T NG Trong nh ng phiên b n tr c c a Navigator... m t s ho c m t xâu ký t ) và m i valueI là m t bi u th c mà giá tr c a nó c gán cho propertyI.1. N u b n t hai d u ph y vào hàng. N u nh b n không c n dùng n i t ng ó trong m i ch . N u m t i t ng c t o b ng cách kh i t o i t ng m c cao nh t. và m i elementI là giá tr c a ph n t v trí ó c a m ng. và chi u dài c a m ng chính là s các tham s . JavaScript s ánh giá l i nó m t l n. Khi b n t o m t m ng b ng cách s d ng ph ng pháp kh i t o.engine:{cylinder:4.. Ho c n u b n mu n t o ra nhi u cá th c a m t ki u i t ng... . thì nó s coi m i giá tr là m t ph n t trên m ng. Ngoài ra.size:2.B n s d ng cách này khi b n ch mu n t o ra m t cá th n l ch không ph i nhi u cá th c a i t ng. JavaScript s ánh giá l i nó m t l n. Ngoài ra. propertyN: valueN} Trong ó objectName là tên c a i t ng m i. Cú pháp t o ra m t i t ng b ng cách kh i t o i t ng (Object Initializers): objectName={property1: value1. thì m ng s c t o v i nh ng ch n tr ng cho nh ng ph n t ch a c nh ngh a nh ví d d i ây: N u m t m ng c t o b ng cách kh i t o(initializer) m c cao nh t. Có th l a ch n kh i t o b ng tên i t ng ho c ch b ng các khai báo.´} Trong tr ng h p này. i t ng s c kh i t o m t l n Gi s b n có câu l nh sau: if (condition) x={hi: ´there. Cú pháp t o m ng b ng cách này khác v i t o i t ng: arrayName=[element0.0. Tuy nhiên. b n ch có th t o ra m t i t ng b ng cách s d ng hàm xây d ng chúng ho c s d ng m t hàm c cung c p b i m t vài i t ng khác t c m c ích. b n không c n ph i gán nó cho m t bi n. b n có th t o ra m t hàm xây d ng tr c. element1.. property2: value2. m i propertyI là m t xác minh (có th là m t tên. n u s d ng vi c kh i t o này trong m t hàm thì m i l n g i hàm. b n c ng có th s d ng m t kh i t o t o m t m ng.

JavaScript

73

coffees = [³French Roast´,´Columbian´,´Kona´]

Ví d 2: T o ra m t m ng v i 2 ph n t
fish = [³Lion´, ,´ Surgeon´]

c kh i

u và m t ph n t r ng: c

V i bi u th c này, fish[0] là ³Lion´, fish[2] là ´ Surgeon´, và fish[2] ch a nh ngh a
5.1.2. S D NG M T HÀM XÂY D NG(CONSTRUCTOR FUNCTION)

B n có th t o ra i t ng c a riêng mình v i hai b c sau: 1. nh ngh a ki u c a i t ng b ng cách vi t m t hàm xây d ng. 2. T o ra m t cá th c a i t ng ó b ng toán t new nh ngh a m t ki u i t ng, ta ph i t o ra m t hàm ch nh rõ tên, các thu c tính và các cách th c c a ki u i t ng ó. Ví d gi s b n mu n t o m t ki u i t ng ô tô v i tên là car, có các thu c tính make, model, year và color, th c hi n vi c này có th vi t m t hàm nh sau:
function car(make, model, year ){ this.make = make this.model = model this.year = year }

Chú ý vi c s d ng toán t this gán giá tr cho các thu c tính c a ph i thông qua các tham s c a hàm. Ví d , b n có th t o m t i t ng m i ki u car nh sau:
mycar = new car(³Eagle´,´Talon TSi´,1993)

it

ng

Câu l nh này s t o ra i t ng mycar và liên k t các giá tr c a vào v i các thu c tính. Khi ó giá tr c a mycar.make là ³Eagle´, giá tr c a mycar.model là ³Talon TSi´, và mycar.year là m t s nguyên 1993....C nh v y b n có th t o ra nhi u i t ng ki u car. M t i t ng c ng có th có nh ng thu c tính mà b n thân nó c ng là m t i t ng. Ví d b n nh ngh a thêm m t i t ng khác là person nh sau:
function person(name, age, sex){ this.name=name this.age=age this.sex=sex }

Và sau ó ta t o ra hai ng

i m i:

rank = new person(³Rank McKinnon´,33,´M´) ken = new person(³Ken John´,39,´M´)

Bây gi b n

nh ngh a l i hàm xây d ng car nh sau:

function car(make, model, year,owner ){ this.make = make this.model = model this.year = year this.owner = owner }

JavaScript

74

Nh v y b n có th t o

it

ng ki u car m i:

car1 = new car(³Eagle´,´Talon TSi´,1993,rank) car2 = new car(³Nissan´,´300ZX´,1992,ken)

Nh v y, thay vì ph i qua m t xâu ký t hay m t giá tr s khi t o i t ng, ta ch c n a hai i t ng ã c t o câu l nh trên vào dòng tham s c a i t ng m i t o. Ta c ng có th l y c thu c tính c a i t ng owner b ng câu lênh sau:
car2.owner.name

Chú ý r ng b n c ng có th t o ra m t thu c tính m i cho nó, ví d :
car1.color=´black´

it

ng tr

c khi

nh ngh a

Nh v y, thu c tính color c a i t ng car1 c gán là ³black´. Tuy nhiên, nó s không gây tác ng t i b t k m t i t ng ki u car nào khác. N u mu n thêm thu c tính cho t t c các i t ng thì ph i nh ngh a l i hàm xây d ng i t ng.
5.1.3. L P M C L C CHO CÁC THU C TÍNH C A I T NG

Trong Navigator 2.0, b n có th g i thu c tính c a m t i t ng b ng tên thu c tính ho c b ng s th t c a nó. Tuy nhiên t Navigator 3.0 tr i, n u ban u b n nh ngh a m t thu c tính b ng tên c a nó, b n s luôn luôn ph i g i nó b ng tên, và n u b n nh ngh a m t thu c tính b ng ch s thì b n c ng luôn luôn ph i g i t i nó b ng ch s . i u này ng d ng khi b n t o m t i t ng v i nh ng thu c tính c a chúng b ng hàm xây d ng (nh ví d v ki u i t ng car ph n tr c) và khi b n nh ngh a nh ng thu c tính c a riêng m t i t ng (nh mycar.color=´red´). Vì v y n u b n nh ngh a các thu c tính c a i t ng ngay t u b ng ch s nh mycar[5]=´25 mpg´, b n có th l n l t g i t i các thu c tính khác nh mycar[5]. Tuy nhiên i u này là không úng i v i nh ng i t ng t ng ng c a HTML nh m ng form. B n có th g i t i các i t ng trong m ng b i s th t ho c tên c a chúng. Ví d th <FORM> th hai trong m t document có thu c tính NAME là ³myform´ thì b n có th g i t i form ó b ng document.form[1] ho c document.form[³myForm´] ho c document.myForm
5.1.4. T NH NG NGH A THÊM CÁC THU C TÍNH CHO M T KI U I

B n có th thêm thu c tính cho m t ki u i t ng ã c nh ngh a tr c b ng cách s d ng thu c tính property. Thu c tính c nh ngh a này không ch có tác d ng i v i m t i t ng mà có tác d ng i v i t t c các i t ng khác cùng ki u.Ví d sau th c hi n thêm thu c tính color cho t t c các i t ng ki u car, sau ó g n m t giá tr màu cho thu c tính color c a i t ng car1:
car.prototype.color=null car1.color=´red´

5.1.5.

NH NGH A CÁC CÁCH TH C

M t cách th c là m t hàm c liên k t v i m t i t ng. B n nh ngh a m t cách th c c ng có ngh a là b n nh ngh a m t hàm chu n. B n có th s d ng cú pháp sau g n m t hàm cho m t i t ng ang t n t i:
object.methodname = function_name

JavaScript

75

Trong ó object là i t ng ang t n t i, methodname là tên cách th c và function_name là tên hàm B n có th g i cách th c này t i t ng nh sau:
object.methodname(<tham s >)

B n có th nh ngh a cách th c cho m t ki u i t ng b ng cách a cách th c ó vào trong hàm xây d ng i t ng. Ví d b n có th nh ngh a m t hàm có th nh d ng và hi n th các thu c tính c a các i t ng ki u car ã xây d ng ph n tr c:
function displayCar () { var result = ³Abeautiful´+this.year+ ³ ´+ this.make + ³ ´+ this.model document.write(result) }

B n có th thêm cách th c này vào cho sau vào hàm nh ngh a i t ng
this.displayCar= displayCar;

it

ng car b ng cách thêm dòng l nh

Nh v y có th

nh ngh a l i

it

ng car nh sau:

function car(make, model, year,owner ){ this.make = make this.model = model this.year = year this.owner = owner this.displayCar= displayCar }

Sau ó, b n có th g i cách th c displayCar
car1.displayCar() car2.displayCar()

iv im i

it

ng:

5.1.6. S D NG REFERENCES)

CHO

CÁC

THAM

CHI U

I

T

NG

(OBJECT

JavaScript có m t t khoá c bi t là this mà b n có th s d ng nó cùng v i m t cách th c g i t i i t ng hi n th i. Ví d , gi s b n có m t hàm validate dùng xác nh n giá tr thu c tính c a m t i t ng n m trong m t kho ng nào ó: function validate(obj, lowval, hival){ if ( (obj.value<lowdate)||(obj.value>hival) ) alert(³Invalid value!´) } Sau ó b n có th g i hàm validate t m i th s ki n onChange: <INPUT TYPE=´TEXT´ NAME=´AGE´ SIZE=3 onChange=´validate(this,18,99)´ > Khi liên k t v i m t thu c tính form, t khoá this có th g i t i form cha c a i t ng hi n th i. Trong ví d sau, myForm có ch a i t ng Text và m t nút b m. Khi ng i s d ng kích vào nút b m, tr ng text s hi n th tên form. Th s ki n onClick c a nút b m s d ng this.form g i t i form cha là myForm. <FORM NAME=´myForm´> Form name:<INPUT TYPE=´text´ NAME=´text1´ VALUE=´Beluga´> <P>

.JavaScript 76 <INPUT TYPE=´button´ NAME=´button1´ value=´Show Form Name´ onClick=´this.name´> </FORM> 5.form.text1. XOÁ I T NG Trong JavaScript cho Navigator 2. b n không th xoá các i t ng-chúng v n t n t i trong khi b n ã r i kh i trang ó.0. JavaScript s óng i t ng ó ngay l p t c thông qua bi u th c gán.0 cho phép b n có th xoá m t i t ng b ng cách t cho nó tr t i giá tr Null (n u nh ó là l n cu i cùng g i t i i t ng).value=this.form.1. Trong khi JavaScript cho Navigator 3.7.

JavaScript 77 6. B NG T NG K T CÁC T KHOÁ c Sau ây là các t oc s d ng là tên bi n: abstract boolean break byte case catch char class const continue default do double else nh ngh a là m t ph n trong ngôn ng JavaScript và không eval extends false final finally float for function goto if implements import in instanceof int interface long native new null package parseFloat parseInt private protected public return short static super switch synchrinized this throw throws transient true try var void while with .

. b n nên n v i trang có các thông tin m i nh t v Web c a hãng Netscape ( http://www.netscape. T NG K T Nh v y. B n có th tham kh o toàn di n JavaScript trong quy n Teach Yourself JavaScript in 14 Days.JavaScript 78 7. tài li u không nh ng ã gi i thiêu s qua v JavaScript. mà nó còn là sách tham kh o h t s c h u ích phát tri n ng d ng c a b n.com ) ngôn ng này. ho c JavaScript Guide Do JavaScript là ngôn ng còn m i và có s thay i nhanh chóng.

Sign up to vote on this title
UsefulNot useful