Chương 3: JavaScript

3.1. T ng quan v Javascript JavaScript là ngôn ng k ch b n ư c g n v i các file HTML. JavaScript là ngôn ng k ch b n ph bi n nh t trên internet, và ho t ng t t trên h u h t các trình duy t ư c dùng ph bi n như Internet Explorer, Firefox, Chrome, Opera, và Safari. S có m t c a JavaScript trên các trang web giúp tăng tính tương tác c a ngư i dùng trên các trang html. Các câu l nh JavaScript ư c nhúng trong m t trang HTML có th áp ng các s ki n c a ngư i s d ng như kích chu t, nh p vào m t form và i u hư ng trang. Ví d ta 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 . JavaScript là ngôn ng d a trên i tư ng, có nghĩa là bao g m nhi u ki u i tư ng, ví d i tư ng Math v i t t c các ch c năng toán h c, i tư ng String ph c v cho x lý chu i,… Gi ng v i HTML và Java, JavaScript ư c thi t k c l p v i h i u hành. 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. 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. Tuy nhiên JavaScript l i có m t s như c i m như: Ho t ng không th ng nh t trên các trình duy t khác nhau. ng ư c khi ngư i dùng t t ch c năng h tr JavaScript c a

Không tương tác tr c ti p ư c v i máy ch . Không ho t trình duy t.

JavaScript không t o ư c các hình nh trên Web.

53

3.2. Nhúng JavaScript vào file HTML Thông thư ng JavaScript ư c b sung vào trang HTML theo các cách sau 3.2.1. S

Vi t tr c ti p 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 Vi t mã JavaScript tr c ti p trong các thu c tính s ki n c a tài li u HTML
d ng th SCRIPT

Các câu l nh và các hàm JavaScript có th theo cú pháp sau:

ư c ưa tr c ti p vào trang HTML

<SCRIPT LANGUAGE=”JavaScript”> // JavaScript code </SCRIPT> Các th <SCRIPT> có th xu t hi n trong ph n <HEAD> hay <BODY> c a file HTML. N u t trong ph n <HEAD>, 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. Thông thư ng thì ngư i ta hay t các th Script gi a c p th <Head> c a trang web. Có m t s trình duy t cũ không h tr JavaScript. Do v y m b o mã JavaScript không xu t hi n trên trình duy t, ngư i ta thư ng t chúng trong các c p th chú thích c a HTML như cú pháp dư i ây: <SCRIPT LANGUAGE=”JavaScript”> <!-- From here the JavaScript code hidden //JavaScript code // --> </SCRIPT>
3.2.2. S d ng m t file ngu n JavaScript

Ngoài cách ưa tr c ti p mã ngu n JS vào trang HTML, d b o trì, nâng c p các trang Web ngư i ta thư ng tách riêng mã JS ra m t file riêng và nhúng nó vào trang HTML b ng cú pháp sau : <SCRIPT SRC="file_name.js"> .... </SCRIPT> Cách s d ng 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. Thu c tính SRC có th ư ng d n tuy t i. ư c nh rõ b ng a ch URL, các liên k t ho c các

54

Các file JavaScript bên ngoài không ư c ch a b t kỳ th HTML nào. Chúng ch ư c ch a các câu l nh JavaScript và nh nghĩa hàm.
3.2.3. 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. Khi ó trình duy t s không hi u th <NOSCRIPT> và nó b l i, còn o n mã n m trong c p th này s ư c Navigator hi n th . Ngư c l i, n u trình duy t có h tr JavaScript thì o n mã trong c p th <NOSCRIPT> s ư c b qua. Tuy nhiên, 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. <NOSCRIPT> <B> Trang này có s d ng JavaScript. Do ó b n c n s d ng trình duy t m i hơn có h tr JavaScript ho c b n ph i b t ch c năng h tr JavaScript n u nó b t t.</B> </NOSCRIPT> Hi n th văn b n 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. Trong JavaScript, ngư i l p trình cũng có th i u khi n vi c xu t ra màn hình trình duy t các dòng văn b n b ng hai phương th c write() và writeln() c a i tư ng document. Cách g i m t phương th c c a m t i tư ng như sau: 3.3.

object_name.property_name Như v y xu t chu i văn b n ra màn hình ta dùng câu l nh: document.write(Chu i_văn_b n); document.writeln(Chu i_văn_b n); Trong ó Chu i_văn_b n hoàn toàn có th là o n mã HTML. S khác nhau c a hai phương th c này là:write() xu t ra màn hình xâu Text nhưng không xu ng dòng, còn cách th c writeln() sau khi vi t xong dòng Text t ng xu ng dòng. Ví d 3.1: <HTML> <HEAD> <TITLE>Phuong thuc Document.Write va Document.writeln</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript">

55

<!-- HIDE FROM OTHER BROWSERS document.writeln("<h2>Example</h2>"); document.write("<b>Welcome to our site.</b>"); document.write("What is your name?"); // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </BODY> </HTML> Trên trình duy t s xu t hi n các dòng văn b n sau

3.4. Các lo i h p tho i trong JavaScript JavaScript h tr kh năng cho phép ngư i l p trình t o ra các h p tho i tương tác v i ngư i s d ng mà không làm nh hư ng n vi c xu t n i dung trang. Có hai lo i th p tho i trong JS là alert và Prompt
3.4.1. H p tho i Alert

H p tho i này thư ng ư c dùng thông báo n ngư i dùng m t câu thông báo. Khi xu t hi n h p tho i này ngư i dùng ph i nh n váo nút OK m i có th quay l i làm vi c v i trang web ang m . Cú pháp: alert(Câu_thông_báo); Thông thư ng, câu l nh 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 Ví d 3.2: truy nh p d li u

3.4.2.

H p tho i Prompt

H p tho i alert()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 JS có l nh prompt(). Cú pháp: Prompt(Câu_thông_báo,Giá_tr _nh p_ng m_ nh) Tương t như alert(), prompt() t o ra m t h p h i tho i v i m t dòng thông báo do ta ưa vào, nhưng ngoài ra nó còn cung c p m t trư ng nh p d li u vào. Ngư i s d ng có th nh p vào trư ng ó r i kích vào OK. Khi ó, ta có th x lý d li u do ngư i s d ng v a ưa vào. Ví d 3.3: H p h i tho i g m m t dòng thông báo, m t trư ng nh p d li u, 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. Ví d ư c lưu vào file Hello.html.
<HTML> <HEAD> <TITLE> JavaScript Dialog </TITLE> <SCRIPT LANGUAGE= “JavaScript”> var name=window.prompt(“Hello! What is your name ?”,””); document.write(“Hello ” + name + “ Welcome to our website ”); </SCRIPT> </HEAD> <BODY> </BODY> </HTML>

Khi duy t có k t qu :

Ví d : <html> <head> <script type="text/javascript"> function show_confirm(){ var r=confirm("B n hãy nh n m t nút"). N u nh n vào nút OK hàm s tr v giá tr True còn n u nh n vào nút Cancel hàm s tr v giá tr false.tr 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 xu t hi n h p tho i confirm. } else{ alert("B n v a ch n Cancel!").4. Cú pháp: confirm(thông_báo). ngư i dùng s ph i n vào nút “OK” ho c nút “Cancel” x lý.write. 3. H p tho i Confirm H p tho i confirm ư c s d ng yêu c u ngư i dùng xác nh n m t ho t ng nào ó.prompt. 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. if (r==true){ alert("B n v a ch n OK!").3. } } </script> </head> <body> . Giá t ư c s ư c ghi trong bi n có tên là name.

Qui t c - t tên bi n u b ng ch hay d u g ch dư i. m u tên m t bi n nhưng có th s Tên bi n trong JavaScript ph i b t Các ch s không ư c s d ng u tiên. Khai báo không tư ng minh: Tên_bi n=Bi u_th c.<input type="button" onclick="show_confirm()" value="Hi n h p tho i Confim" /> </body> </html> 3.5. 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 Các t khóa trong JavaScript Abstract Boolean Break Byte Case Catch Char class const continue default do double else - 59 . d ng sau ký t Không Tên bi n không phân bi t ch hoa và ch thư ng t tên bi n trùng v i tên các t khóa. Bi n và ph m vi c a bi n Cách khai báo bi n Có hai cách khai báo bi n là khai báo tư ng minh và không tư ng minh Khai báo tư ng minh: Var Tên_bi n. ho c Var Tên_bi n=Bi u_th c.

Ki u chu i (STRING) M t giá tr ki u chu i ư c bi u di n b i không hay nhi u ký t ư c t trong c p d u " .Ph m vi c a bi n Trong JavaScript có hai ki u bi n Bi n toàn c c: Có th ư c truy c p t b t kỳ âu trong ng d ng. .. Ví d : “Hello world”. Bi n c c b ư c khai báo trong m t hàm v i các khai báo tư ng minh Khác v i các ngôn ng khác. Mi n giá tr c a ki u này ch có hai giá tr true ho c false. trong JS không có khai báo h ng s .write(“ \”This text inside quotes. '. 9.87E14.. “Welcome to my website” bi u di n d u nháy kép ( " ).. D u ch m th p phân (. ph i có ít nh t m t ch s theo sau d u ch m hay E. ki u d u ph y ng. có b n ki u d li u sau ây: ki u s nguyên. phân bi t ki u d u ph y ng v i ki u s nguyên. -0. Ki u d u ph y ng (FLOATING POINT) M t giá tr có ki u d u ph y ng có 4 thành ph n sau: Ph n nguyên th p phân.s nguyên có th bi u di n dư i d ng bát phân v i u tiên là s 0. ki u logic và ki u chu i. Các ki u d li u Trong JavaScript. trong chu i s d ng ( \" ). 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) . " hay '.85E4..98E-3 Ki u Logic (BOOLEAN) Ki u logic ư c s d ng ch hai i u ki n : úng ho c sai. Ph n mũ. ch s H cơ s 16 (h th p l c phân) .). ví d : document.6.\” ”). ‘Java Script’. Ví d : 9.87. Ph n dư. Trong JavaScript ta không c n ph i nh ki u d li u khi khai báo Chú ý: - 3. Bi n c c b : Ch ư c truy c p trong ph m vi chương trình mà nó khai báo.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. r ng ch s H cơ s 8 (h bát phân) . 60 . chú ý u tiên ph i khác 0.có th bi u di n s nguyên theo cơ s 10.

3. V cơ b n có ba ki u bi u th c trong JavaScript: S h c: là bi u th c tr v m t giá tr s . bi u th c nh n giá tr valueTrue. Ví d "Hello" + " world!" tr v 1 giá tr ki u chu i là Hello world ! Logic: Là bi u th c tr v 1 giá tr ki u logic. Bi u th c và các toán t Bi u th c và phân lo i bi u th c S k t h p gi a các bi n. ngư c l i nh n giá tr valueFalse.7. Ví d : vehuu = (Tuoi>60) ? "Huu" : "Khong" Trong ví d này bi n vehuu ư c gán giá tr "Huu" n u giá tr c a bi n Tuoi l n hơn 60. 3. Ví d temp>32 có th nh n giá tr sai. Các lo i toán t Toán t ư c s d ng th c hi n m t phép toán nào ó trên d li u. s h c.2. 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.3.1. so sánh. ki u chu i hay ki u logic. Các toán t trong JavaScript có th ư c nhóm thành các lo i sau ây: gán. Ví d bi u th c (1+1 ) tr v giá tr s là 2 Chu i: Là bi u th c cho k t qu là 1 chu i.7. cú pháp như sau: (condition) ? valueTrue : valueFalse N u i u ki n condition ư c ánh giá là úng. logic và logic bitwise. JavaScript cũng h tr bi u th c i u ki n. trong trư ng h p ngư c l i nó nh n giá tr "Khong". các giá tr và các toán t tr v m t giá tr nào ó ư c g i là m t bi u th c (expression). Bên c nh ó JavaScript còn h tr m t s ki u toán t gán rút g n. Ki u gán thông thư ng x=x+y x=x-y x=x*y x=x/y x=x%y Ki u gán rút g n x+=y x-=y x*=y x/=y x%=y So sánh 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. chu i.7. M t toán t có th tr l i m t giá tr ki u s . Sau ây là m t s toán t so sánh trong JavaScript: 61 .

== != > >= < <= Tr l i giá tr Tr l i giá tr Tr l i giá tr Tr l i giá tr ph i Tr l i giá tr Tr l i giá tr ph i úng n u toán h ng bên trái b ng toán h ng bên ph i ú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 ú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 úng n u toán h ng bên trái nh hơn toán h ng bên ph i úng n u toán h ng bên trái nh hơn ho c b ng toán h ng bên S h c Bên c nh các toán t c ng (+). giá tr c a x ư c gán cho y trư c khi nó ư c tăng hay gi m.v i tên bi n (là x trong trư ng h p này). N u ++ ng trư c x. x s ư c tăng ho c gi m trư c khi giá tr x ư c gán cho y. Ví Logic JavaScript h tr các toán t logic sau ây: expr1 && expr2 Là toán t logic AND. tr l i giá tr úng n u ít nh t m t trong hai expr1 và expr2 úng. tr (-). toán t d :"Hello" + " world!" ư c "Hello world!" + ư c coi là k t h p hai chu i. tr l i giá tr expr1 và expr2 cùng úng. Chu i Khi ư c s d ng v i chu i. JavaScript còn h tr các toán t sau ây: var1 % var2 var++ var-Chú ý Toán t ph n dư. tr l i ph n dư khi chia var1 cho var2 i d u c a 1 toán h ng. 62 . chia (/) thông thư ng. 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 -. N u ++ hay -.vào m t bi n. nhân (*). úng n u c expr1 || expr2 Là toán t logic OR.ng sau x. 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) N u ta gán giá tr c a toán t ++ hay -. như y= x++.

8.>> y x >>> = y x&=y x^=y x|=y >> 3. Toán t bitwise XOR. u tiên giá tr ư c chuy n dư i d ng s nguyên 32 bit. Sau khi d ch chuy n. giá tr l i ư c chuy n thành ki u c a toán h ng bên trái. L nh i u ki n. tr l i giá tr 1 n u m t trong hai bit là 1. Ví d : 2<<3 tr thành 16 (s nh phân 10 tr thành s nh phân 10000) Toán t d ch ph i. 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. sau ó l n lư t th c hi n các phép toán trên t ng bit. Sau ây là các toán t d ch chuy n: << Toán t d ch trái. 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. L nh l p. Bitwise V i các toán t thao tác trên bit.! expr Là toán t logic NOT ph nh giá tr c a expr. tr l i giá tr 1 n u c hai bit cùng là 1. 63 . 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.8. Ví d : 16>>3 tr thành 2 (s nh phân 10000 tr thành s nh phân 10) Các toán t bitwise vi t d ng rút g n: Ki u bitwise thông thư ng x = x << y x = x >> y x = x >>> y x=x&y x=x^y x=x|y Ki u bitwise rút g n x << = y x .1. C u trúc i u khi n Có th chia các l nh c a JavaScript thành ba nhóm sau: 3. Giá tr ư c chuy n thành s nguyên 32 bit trư c khi d ch chuy n. Các bit b chuy n sang trái b m t và 0 thay vào phía bên ph i. 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. Câu l nh i u ki n IF Câu l nh i u ki n cho phép ta ki m tra m t i u ki n nào ó 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. Toán t bitwise OR. & | ^ Toán t bitwise AND.

……. Cú pháp: switch (bieu_thuc){ case gia_tri_1: //mã l nh th c hi break. } else{ document. case gia_tri_n: //mã l nh th c hi break.8.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 } Nhóm l nh sau else không b t bu c ph i có. } 3.write("S l n là: " + a). default: //mã l nh th c hi h p } Ví d : <script type="text/javascript"> n khi bieu_thuc==gia_tri_1 n khi bieu_thuc==gia_tri_2 n khi bieu_thuc==gia_tri_n n khi không có giá tr nào phù 64 . case gia_tri_2: //mã l nh th c hi break.2. nó cho phép ch ra nhóm l nh ph i th c hi n n u i u ki n là sai. Ví d : Tìm max trong 2 s a và b if (a>b){ document.write("S l n là: " + b). Câu l nh l a ch n switch Câu l nh l a ch n switch s ánh giá m t bi u th c và tương ng v i các t ng giá tr khác nhau c a bi u th c ó s th c hi n các o n chương trình khác nhau.

Cú pháp: for (initExpr. case 6: document.write("Th b y"). break.initExpr. Vòng l p FOR m y Vòng l p for thi t l p m t bi u th c kh i u . break. case 5: document.write("Ch Nh t"). incrExpr){ //Các l nh } Ví d : Ví d dư i ây in ra màn hình b ng c u chương ư c th c hi n trong khi l p <SCRIPT LANGUAGE= "JavaScript"> 65 . < i u ki n> . case 4: document. case 1: document. } </script> 3. etc.write("Th tư"). break. Sau khi k t thúc m i vòng l p.8. break. break.//Ví d cho bi t ngày hi n t i là th //Monday=1.write("Th năm").write("Th ba").write("Th sáu"). bi u th c incrExpr ư c ánh giá l i. break. Tuesday=2. sau ó l p m t o n mã cho n khi bi u th c < i u ki n> ư c ánh giá là úng.getDay().3. case 2: document. break. switch (theDay){ case 0: document.write("Th hai"). theDay=d. var d=new Date(). case 3: document.

write("<td width=30 align='center'> <b>" +i+"</b> </td>").write("</tr>").</td>").8. } document.write("<tr><td width=30 align='center' bgcolor='#BFD6FE' > <b>"+x+"</b><\/td>"). x<10 . for ( var y=1.y++){ document. } document. } document.write("<\/tr>"). for (var x=1.write( "<td>"+x*y +"<\/td>").4.y<10.i<10. for (var i=1. </SCRIPT> K t qu thu ư c như sau: 3.i++){ document.write("<h2>B ng c u chương</h2><table border=1 cellpadding=2 ><tr bgcolor='#BFD6FE'><td width=30>&nbsp. x++) { document. WHILE Vòng l p while l p kh i l nh ch ng nào < i u ki n> còn ư c ánh giá là úng Cú pháp: .document.write("<\/table>").

write( "<td>"+x*y +"<\/td>"). và th c hi n bư c l p ti p theo.write("<td width=30 align='center'><b>"+i+"</b></td>"). Hai câu l nh này s d ng trong các vòng l p for ho c while 67 . var x=1. x++. in ra b ng c u chương <SCRIPT LANGUAGE= "JavaScript"> document. while (i<10){ document.write("<\/tr>").while (< i u ki n>){ //Các câu l nh th c hi n trong khi l p } Ví d : o n chương trình dư i ây s d ng câu l nh while gi ng như ví d trên. while (y<10){ document.5.write("<h2>B ng c u chương</h2><table border=1 cellpadding=2 ><tr bgcolor='#BFD6FE'><td width=30>&nbsp.write("<tr><td width=30 align='center' bgcolor='#BFD6FE' ><b>"+x+"</b><\/td>"). } document. var i=1.write("</tr>"). var y=1. i++. </SCRIPT> 3. } document. Câu l nh Break và Continue break: k t thúc vòng l p và thoát ra kh i vòng l p continue: d ng bư c l p hi n th i.write("<\/table>").</td>"). } document. while (x<10) { document. y++.8.

9..3.1.3..property] 68 . </SCRIPT> </HEAD> <BODY> </BODY> </HTML> 3. for (var x in window) document. Các câu l nh thao tác trên 3.IN i tư ng duy t qua t t c các thu c tính (properties) c a m t Câu l nh này ư c s d ng i tư ng.param2].write("Các thu c tính c a i tư ng window: <BR>"). [..paramN]) 3.2. K t qu ư c minh ho trên hình 5. Câu l nh FOR. THIS T khoá this ư c s d ng ch i tư ng hi n th i.9.9.. <HTML> <HEAD> <TITLE>Ví d câu l nh For-in</TITLE> <SCRIPT LANGUAGE= "JavaScript" > document.2.9. 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 i tư ng Window và in ra giá tr c a m i thu c tính." ). Cú pháp i tư ng ư c g i this[. Câu l nh NEW L nh new ư c dùng Cú pháp t o ra m t th hi n m i c a m t i tư ng objectVar = new objectType(param1 [.writeln(" "+x+". thư ng là i tư ng hi n th i trong phương th c ho c trong hàm.

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. Ta s d ng cú pháp sau khai báo m t hàm trong JavaScript.first_name=first_name. } function printStats() { with (document) { write (" Name :" + this. sex) { this.1. Cú pháp function fnName([param1]...sex=sex. trong trư ng h p này nó ư c xem như là phương th c c a i tư ng ó. WITH L nh này ư c s d ng thi t l p i tư ng ng m nh cho m t nhóm các l nh. Hàm t d ng hàm nh nghĩa JavaScript cho phép s d ng các hàm.last_name=last_name. last_name.printStats=printStats.9. 69 .4. this. 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 . 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. this. this. Hàm có th là thu c tính c a m t i tư ng.. this.10.3.[param2].10. Khai báo và s 3. M c dù không nh t thi t ph i có. age. b n có th s d ng các thu c tính mà không c p n i tư ng.[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 i tư ng.first_name + "<BR>" ).age=age.last_name + " " + this.. Cú pháp with (object){ // statement } 3.

"Dau Bich".document. document. "Male"). person4= new person("Hoan". Hàm eval Hàm eval ánh giá ho c th c hi n 1 chu i bi u di n m t o n mã JavaScript.printStats(). write("Sex :"+this. "24". nó s phân tích chu i ó như o n mã JavaScript. "Male").write("<br />" + eval(x+17)). "23".2. "Male"). } } person1= new person("Thuy".printStats(). u tiên câu l nh Eval xác nh n u tham s truy n vào là m t chu i h p l . "Nguyen Nhat". document. 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 70 . "24". "Nguyen Bao".y=20. M t s hàm có s n JavaScript cung c p m t s hàm có s n ư c g i tr c ti p mà không g n v i m t i tư ng nào. </SCRIPT> </HEAD> <BODY> </BODY> </HTML> 3.write("Age :"+this. person2= new person("Chung". Cú pháp: returnval=eval (b t kỳ bi u th c hay l nh h p l Java) Ví d : trong <script type="text/javascript"> eval("x=10. person3= new person("Binh". person2. person4. "Female").10.write("<br />" + eval("2+2")).write(x*y)"). </script> 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).printStats().sex+"<BR>").age+"<BR>"). Nói cách khác. câu l nh Eval s chuy n m t chu i bi u di n o n mà JavaScript thành các câu l nh JavaScript và th c thi chúng. "23".printStats(). "Do Van". person3. person1.

và fish[2] chưa ư c nh nghĩa 71 . ."BMW"). Ta không c n ph i ch nh rõ t t c các ph n t trên m ng m i. Cách lưu tr này giúp vi c truy c p giá tr và c p nh t các giá tr c a chúng ư c d dàng b ng cách s d ng các vòng l p. radix]) Hàm 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ư i d ng d u ph y ng. Cách 2: Khai báo m t i tư ng m ng v i các giá tr c a các ph n t var myCars=new Array("Honda ". cho phép lưu tr nhi u giá tr khác nhau thông qua 1 bi n duy nh t. nh s n Cách 3: Khai báo tr c ti p các giá tr dư i d ng m ng var myCars=[" Honda ".thành s trư c khi tính toán.11. [.1. Cú pháp parseInt (string.11."BMW"]. 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 . Ngoài ra hàm này còn c t d u ph y ng. N u t hai d u ph y vào hàng. Trong trư ng h p d li u vào không h p l . myCars[0]="Honda". Cú pháp parseFloat (string) M ng trong JavaScript M ng trong JavaScript là m t lo i bi n c bi t. Khai báo m t m ng 3. 3. fish[0] là “Lion”. myCars[2]="BMW"."Volvo". ngư i ta thư ng lưu tr chúng b i cùng m t bi n m ng. Khi các giá tr có quan h v i nhau theo m t phương di n nào ó."Volvo". var myCars=new Array(). Ta có th khai báo m t m ng b ng 1 trong 3 cách sau : Cách 1: Khai báo m t i tư ng m ng và gán giá tr cho t ng ph n t c a m ng. ”Surgeon”] V i bi u th c này. myCars[1]="Volvo". thì m ng s ư c t o v i nh ng giá tr tr ng cho nh ng ph n t chưa ư c nh nghĩa như ví d dư i ây Ví d : T o ra m t m ng v i 2 ph n t ư c kh i u và m t ph n t r ng: fish = [“Lion”. fish[2] là ”Surgeon”.

Truy c p các ph n t c a m ng M i ph n t trong m ng u có ch s c a nó. Thay ư cb t u t 0.3. i các giá tr trong m t m ng Ta có th c p nh t l i các giá tr trong m t m ng ã có thông qua tên bi n m ng và ch s c a ph n t theo cú pháp sau: Cú pháp: Bi n_m ng[Ch _s ]=giá_tr _m i.11.11.2. Các thu c tính và phương th c c a m ng Các thu c tính Thu c tính Mô t constructor length prototype Hàm t o Prototype (m u ban u) cho i tư ng m ng Tr v s ph n t c a m t m ng Cho phép ta thêm vào các thu c tính ho c phương th c cho m t i tư ng m ng Các phương th c Phương th c Mô t concat() join() pop() push() reverse() shift() K t h p hai hay nhi u m ng l i và tr v b n sao c a m ng ã n i K t h p các ph n t c a m t m ng l i thành m t chu i Lo i b ph n t cu i cùng c a m t m ng và tr v ph n t Thêm m t ph n t m i vào m t m ng và tr v o ngư c th t các ph n t trong màng Lo i b ph n t u tiên c a m ng và tr v ph n t ó ó dài m i c a m ng 72 . Các ch s th truy c p n các ph n t c a m ng thông qua cú pháp sau: Cú pháp: Bi n_m ng[Ch _s ] Ví d : V i m ng myCars khai báo s in ra màn hình ch Honda.Chú ý: N u ta khai báo m t s giá tr true/false trong m ng thì ki u c a chúng s ư c hi u là s ho c logic thay vì ki u chu i. 3. Ví d : myCars[0]= “Ford”.write(myCars[0]). ta có trên câu l nh document. 3.

document. "Tove"].Tove. </script> <script type="text/javascript"> var parents = ["Jani". employee. </script> <script type="text/javascript"> function employee(name. document. this.slice() sort() splice() toString() unshift() valueOf() L a ch n m t ph n c a m ng và tr v m t m ng m i S p x p các ph n t c a m t m ng Thêm và lo i b các ph n t c a m ng Chuy n i m ng thành chu i và tr v chu i k t qu u m ng và tr v giá tr m i Thêm m t ph n t m i vào Tr v các giá tr nguyên th y c a m t m ng Các ví d v các phương th c c a m ng: Mã ngu n <script type="text/javascript"> var fruits = ["Banana".write(fruits. </script> <script type="text/javascript"> var fruits = ["Banana". "Apple".Cecilie.Lone 73 .Kai Jim.length=5. this. document.salary=null.jobtitle.write("New length: " + fruits. var brothers = ["Stale". "Mango"].Stale.born){ this.length).name=name.born=born. "Apple". "Orange".write("<br />"). } var fred=new employee("Fred Flintstone".length). "Orange". "Caveman".salary).Borge.constructo r).write(fred.write("Original length: " + fruits. 1970). "Kai K t qu trên trình duy t function Array() { [native code] } Original length: 4 New length: 5 20000 Jani. document.jobtitle=jobtitle. fred. "Mango"]. document.prototype.salary=20000. fruits.

"Orange".join("+") + "<br />").write(fruits). "Apple". document.Orange. </script> <script type="text/javascript"> var fruits = ["Banana".write(fruits.write(fruits. "Mango"]. "Lone"]. "Mango"].write(fruits. document. "Apple".Mango 74 .write(fruits.Apple Apple Banana. document. "Apple". document.Apple. var family = parents.Jim". document. document.Apple.write(fruits.Mango Orange Apple. document. "Mango"].write(fruits. </script> <script type="text/javascript"> var fruits = ["Banana". document.Apple. "Apple".Orange.reverse()).Orange. Kiwi. "Orange".Pineapple Mango.write(fruits. "Mango"]. children). document.pop() + "<br />").Mango Banana+Orange+Apple+Mang o Banana and Orange and Apple and Mango Mango Banana.write(fruits). </script> <script type="text/javascript"> var fruits = ["Banana".write(fruits.write(fruits + "<br />"). Banana. "Orange".push("Lemon". document. "Borge"].Banana Banana Orange. "Orange". "Apple".Orange. "Mango"]. "Orange". document.join() + "<br />").Orange 5 7 Banana.shift() + "<br />").Lemon. document.concat(brothers. document.write(fruits.Mango.Apple.pop() + "<br />").push("Kiwi") + "<br />"). </script> <script type="text/javascript"> var fruits = ["Banana". var children = ["Cecilie".write(family). </script> <script type="text/javascript"> var fruits = ["Banana".join(" and "))." Pineapple") + "<br />").

Kiwi.Apple. "Mango"].splice(2. </script> <script type="text/javascript"> var fruits = ["Banana". </script> <script type="text/javascript"> function sortNumber(a.10.sort()). } var n = ["10".sort(sortNumber)) .Apple.write(fruits. document. "Apple". document. "Apple".write(fruits + "<br />").slice(0. document. "Mango"]. document.Apple.Apple.25. "Mango"]. "5". "Apple". "Mango"].write(fruits).shift() + "<br />"). document.write(fruits.slice(1) + "<br />"). "Apple".Pineapple.Orange 1.toString()). document. document. "Mango"].5.write(n.Mango Apple. document. b){ return a .document.write(fruits. </script> <script type="text/javascript"> var fruits = ["Banana".write(fruits.slice(-2) + "<br />").100 Removed: Banana. </script> <script type="text/javascript"> var fruits = ["Banana".Mango. "Orange". </script> <script type="text/javascript"> var fruits = ["Banana".Mango Apple.write(fruits.Lemon. Mango Banana.write(fruits.write(fruits). "Orange". document. "25".b. "Orange". "40".Mango Banana.Mango 5 7 Lemon. </script> <script type="text/javascript"> var fruits = ["Banana". "Orange".Banana.0. document.Orange. "Orange". "Apple".40.write(fruits). "1"]. "100".Orange.write(fruits. document.Orange.Banan 75 .write("Removed: " + fruits.1) + "<br />"). document.unshift("Kiw Banana Orange."Lemon") + "<br />").

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. "Mango"]. </script> a.unshift("Lem on". onSelect onBlur.Mango 3. it only returns undefined!</p> <script type="text/javascript"> var fruits = ["Banana". M i s ki n có th d n t i vi c th c hi n m t o n mã l nh (g i là các chương trình x lý s ki n) giúp cho chương trình có th tương tác m t cách thích h p. onFocus onBlur.Mango Note: The unshift() method does not work properly in Internet Explorer. document.valueOf()). </script> <p><b>Note:</b> The unshift() method does not work properly in Internet Explorer.write(fruits. document.12. onChange.i") + "<br />"). document.Apple.write(fruits. 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 như cú pháp dư i ây: <tagName eventHandler = "JavaScript Code or Function"> Ví d sau g i hàm CheckEmail() m i khi giá tr c a trư ng văn b n có tên là Email b thay i: <INPUT TYPE=TEXT NAME="Email" onChange="CheckEmail()"> Sau ây là b ng tóm t t các thu c tính s ki n có s n c a m t s i tư ng (Xem chi ti t hơn m c 2.12). "Orange".Orange."Pineapple") + "<br />").Apple. onChange. onFocus. Các i tư ng này s ư c trình bày k hơn trong ph n sau. onFocus. "Apple". i tư ng Selection list Text Textarea Button Checkbox Radio button Chương trình x lý s ki n có s n onBlur. onChange. L p trình x lý s ki n JavaScript là ngôn ng hư ng s ki n.write(fruits).Orange. it only returns undefined! Banana. onSelect onClick onClick onClick 76 . Chươ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.

Bên c nh ó phương th c document. i tư ng Khi t i m t document xu ng trình duy t. onError onLoad. i tư ng cũng có th có các chương trình x lý s ki n. onFocus onSubmit. Các i tư ng có thu c tính (properties). 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 ó. Trong sơ phân c p các i tư ng c a JavaScript. 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 . onMouseOver ư c g i khi con tr chu t di chuy n qua link. Hình dư i ây ch ra sơ phân c p các i tư ng trong JavaScript. các i tư ng con th c s là các thu c tính c a các i tư ng cha. onMouseOver. onAbort 3. onUnload. onMouseOut onMouseOver. onClick ư c g i khi có i tư ng link ư c kích. 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 trong JavaScript Như ã nói JavaScript là ngôn ng l p trình d a trên i tư ng. Sơ minh ho s phân c p c a các i tư ng 77 . 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. JavaScript s t o ra m t s 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. onFocus onBlur. onReset onLoad.13. onMouseOut onClick onClick onLoad.write ư c s d ng trong nhi u ví d ưa văn b n k t qu ra document. onUnload. phương th c (methods). onBlur. onError. và các chương trình x lý s ki n (event handlers) g n v i chúng.Hypertext link Clickable Imagemap area Reset button Submit button Document Window Framesets Form Image onClick.

có các thu c tính th c hi n áp d ng - document: ch a các thu c tính d a trên n i dung c a document như tên. các k t n i và các forms. 78 . màu n n. window: là i tư ng vào toàn b c a s . m c cao nh t. location: có các thu c tính d a trên 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ư c ó. dùng cho MIME type ư c h tr b i client và plug-in ư c cài t trên client.Window Textarea Text Frame Layer FileUpload Link Password document Image Hidden Area Location Submit Anchor Reset Applet History Plugin Radio Checkbox Form Button Select Option 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.

document.appVersion). document.appName).write("<br /><br />").1. Length .write("<br /><br />"). document. i tư 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.M ng xác nh hi n th lên trên thanh tr ng thái c a nh t t c các frame trong c a s .agent.write("<br /><br />").13. document.write("<br /><br />").3. i tư ng document. document.write("Browser Name: " + navigator.platform). userAgent platform nh n n t ng phát tri n c a trình duy t i tư ng navigator Ví d sau s hi n th giá tr t t c các thu c tính c a <script type="text/javascript"> document. i tư ng Window v trí i tư ng window là i tư ng m c cao nh t.write("Browser CodeName: " + navigator. document. 79 .appCodeName). </script> 3. Name .Tên c a c a s hi n th i. Các thu c tính appCodeName AppName AppVersion Xác Xác nh tên mã n i t i c a trình duy t.write("User-agent header: " + navigator. Các thu c tính defaultStatus . Xác Xác nh header c a user .write("Browser Version: " + navigator.S lư ng các frame trong c a s cha m .13.cookieEnabled). Các u là thu c tính c a i tư ng window. nh tên trình duy t.write("Cookies Enabled: " + navigator.write("<br /><br />").userAgent). frame.write("Platform: " + navigator.2. i tư ng này không có phương th c hay chương trình x lý s ki n. i tư ng Xác nh thông tin v phiên b n c a navigator. document. document. document. document.Thông báo ng m c as Frames .

[ t. ví d này lưa vào file window. như nút th nh t m m t c a s r ng. Tr l i giá tr True cho OK và False cho Cancel. ơc s d ng l y hay t l i thông báo tr ng thái và ghi è lên defaultStatus. alert ("message"): Hi n th h p h i tho i v i chu i "message" và nút OK.C a s hi n th i.close: óng c a s windowReference.- Parent - i tư ng c a s cha m Self .open(''.close()"> 80 .msec): ánh giá bi u th c expresion sau th i gian msec.ư 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 .C a s trên cùng. 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). nh n d li u TimeoutID = setTimeout(expression."defaultInput"]): M m t h p h i tho i vào trư ng text.height=200 ')"> <P><A HREF="doc2. [windowVar = ][window]. "windowName".html: <HTML> <HEAD> <TITLE>Frame Example </TITLE> </HEAD> <BODY> <FORM> <INPUT TYPE="button" VALUE="Open Second Window" onClick="msgWindow=window.'window2'. clearTimeout(timeoutID):Xóa timeout do SetTimeout SetTimeout: tr l i timeoutID windowReference. Status .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. "windowFeatures" ] ) : M c a s m i. Window . Top .html" TARGET="window2"> Load a file into window2 </A></P> <INPUT TYPE="button" VALUE="Close Second Window" onClick="msgWindow.'resizable=no.width=200. sau ó m t liên k t s t i file doc2.C a s hi n th i. nút OK và nút Cancel. Trong ví d t o ra m t t i c a s th hai. open("URL". - Các phương th c - prompt ("message" [. confirm("message"): Hi n th h p h i tho i v i chu i "message".

Dư i ây là các thu c tính c a i tư ng này và các giá tr c th ng v i 1 Url là http:// www.frame hi n th i.com ).Ph n hostname:port c a URL (ví d www.Tên anchor c a v trí hi n th i (ví d topic3). clearTimeout (timeoutID) .13.html).abc.abc. self . Pathname . Hostname . Protocol .com ).abc. hash . Host . i tư ng Location Các thu c tính c a i tư ng location cho bi t các thông tin v URL c a document hi n th i.Câu truy v n tìm ki m có th i tư ng Frame cu i URL cho các script CGI.C ng truy n thông ư c s d ng cho máy tính host. ánh giá expression sau khi Các phương th c - S d ng Frame 81 . Parent .Ph n ư ng d n c a URL (ví d /chap1/page2.msec) h t th i gian msec.Giao th c ư c s d ng (cùng v i d u hai ch m) (ví d http:).C a s hay frame ch a nhóm frame hi n th i.</FORM> </BODY> </HTML> 3. Chú ý r ng ây thư ng là c ng ng m nh và ít khi ư c ch ra. Name .Toàn b URL cho document hi n t i. Port .Thu c tính NAME c a th <FRAME> Length . Window .frame hi n th i. thư ng là c ng ng m nh. M t c a s có th có m t vài frame. href .com/ chap1/page2.4. TimeoutID = setTimeout (expression.Tên c a host và domain (ví d www.13. SetTimeout tr l i timeoutID.Xoá timeout do setTimeout l p. Các thu c tính frames . 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.M ng t t c các frame trong c a s .3.S lư ng các frame con trong m t frame.html#topic3 Các thu c tính 3. frame không có các chương trình x lý s ki n. Search .

10%"> <FRAMESET COLS="30%.frames[1] navigatorFrame chính là top. M c ích c a th này là nghĩa m t t p các frame trong m t trang.html) contentFrame (titles.frames[2] C p nh t m t frame (update) Ta 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 t a ch URL và ph i nh ch rõ v trí c a frame trong c u trúc. Top listFrame (category.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.frames[0] contentFrame chính là top.t o m t frame.html) Ta 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. 82 .html) navigatorFrame (navigator. Ví d : nh <HTML> <HEAD> <TITLE>Frame Example </TITLE> <FRAMESET ROWS="90%.HTM NAME="contentFrame"> </FRAMESET > <FRAME SRC=NAVIGATOR.HTM NAME="ListFrame"> <FRAME SRC=TITLES. ta s d ng th FRAMESET.70%"> <FRAME SRC=CATEGORY. m c dù 2 trong s các frame ó n m trong m t frameset khác.

i tư 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 ưa thông tin ra màn hình.. location: URL y c a văn b n.. lastModified: Ngày cu i cùng văn b n ư c s a. [. history. fgColor: Gi ng thu c tính TEXT.writeln (expression1 [.open (["mineType"]): M m t stream các phương th c write và writeln.5. Nó ư c xác nh b ng c p th <A> và </A>.13.. document. Các thu c tính alinkColor: Gi ng như thu c tính ALINK.13. links là thu c tính c a i tư ng document.6. S ki n onLoad và onUnLoad là cho i tư ng window. linkColor: Gi ng thu c tính LINK. Không có các chương trình x lý s ki n cho các frame. vlinkColor: Gi ng thu c tính VLINK.[. M t s các thu c tính g n v i th <BODY>. document.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.close: ra màn hình. bgColor: Gi ng thu c tính BGCOLOR. thu th p d li u vào c a document..expressionN]): Vi t bi u th c HTML lên văn b n trông m t c a s xác nh. Các i tư ng anchor. forms: M ng t t c các form trong document. anchor: M ng t t c các anchor trong document.expression2]. links: M ng t t c các link trong document. i tư ng document ư c t o ra b ng c p th th c <BODY> và </BODY>. document. óng dòng d li u vào và ưa toàn b d li u trong b m Các phương th c 3. document.write(expression1 [. i tư ng anchor không có 83 .3. forms.clear: Xoá document hi n th i. referrer: URL c a văn b n g i nó. cookie: S d ng xác nh cookie.expression2] . i tư 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. title: N i dung c a th <TITLE>.

radio. Phương th c này mô ph ng m t click vào nút submit trên form. reset. checkbox. tham chi u t i URL m i ư c thăm trư c Các phương th c - 84 .thu c tính. text. phương th c cũng như chương trình x lý s ki n.back() ây. Các thu c tính length .13. Danh sách các URL ư c lưu tr theo th t th i gian.Xu t d li u c a m t form tên formName t i trang x lý. M i anchor ư c tham chi u b ng cách: document. Method: Thu c tính METHOD.7. submit. Target: Xâu ch a tên c a c a s ích khi submit form mã hoá n i dung c a form ư c tham chi u b ng cú pháp: document. ư c s d ng i tư ng. i tư ng Form 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>. S lư ng các form có th ư c xác nh b i cú pháp:document. chúng có th ư c tham chi u qua m ng forms. formName. select.submit () . hidden. trư ng text. i tư ng History i tư ng này ư c s d ng lưu gi các thông tin v các URL trư c ư c ngư i s d ng s d ng.S lư ng các URL trong history. nh s lư ng các anchor 3. M i m t form có th Các thu c tính Action: thu c tính ACTION c a th FORM. Length: S lư ng các thành ph n trong m t form.length. password.forms[index] Các phương th c 3.anchors [index] M ng anchor có m t thu c tính duy nh t là length xác trong document. danh sách l a ch n Encoding: Xâu ch a ki u MIME ư c s d ng g i cho server. nó có th ư c xác nh như sau: document.8.anchors. M ng anchor tham chi u n m i anchor có tên trong document.length.forms. textarea N u document ch a m t vài form.13. i tư ng này không có chương trình x lý s ki n. Elements: M ng ch a t t c các thành ph n trong m t form (như checkbox. Có m t vài ph n t (elements) là thu c tính c a i tư ng forms:button.

9.13. các hàm toán h c.abc. tư ng link cũng không có phương th c nào. target: Gi ng thu c tính TARGET c a <LINK>. port: C ng truy n thông ư c s d ng cho máy tính host. tư ng Math không có chương trình x lý s ki n. pathname: Ph n ư ng d n c a URL (ví d /chap1/page2. lư ng giác ph bi n. search: Câu truy v n tìm ki m có th cu i URL cho các script CGI.abc. Nó s không gây hi u ng gì n u ã n cu i c a danh sách.html). history. 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. thư ng là c ng ng m nh.com/chap1/page2.links. i tư ng Link 3. 85 . Các thu c tính c a tư ng này ch a nhi u h ng s toán h c.ư 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.html#topic3 Các thu c tính 3.- history. i tư ng Math i tư ng Math là i tư ng n i t i trong JavaScript. Có th xác lư ng các link qua cú pháp : document.com). n u s d ng location. protocol: Giao th c ư c s d ng (cùng v i d u hai ch m) (ví d http:).length() nh s Có th tham chi u t i m t liên k t q a tài li u b ng cú pháp : document.go (delta | "location") .ư c s d ng tham chi u t i URL k ti p trong danh sách. 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.abc.links [index] Dư i ây là các thu c tính c a i tư ng link ng v i URL là : http://www.forward() . i 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.13.10. Chú ý r ng ây thư ng là c ng ng m nh và ít khi ư c ch ra. Hostname: Tên c a host và domain (ví d ww. URL g n nh t có ch a location là chu i con s ư c tham chi u. M ng link ch a danh sách t t c các liên k t trong document. i i 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 .com). host: Ph n hostname:port c a URL (ví d www. hash: Tên anchor c a v trí hi n th i (ví d topic3). href: Toàn b URL cho document hi n t i.

Math.asin (number): Tr l i giá tr arc sine (theo radian) c a number.atan (number): Tr l i giá tr arc tan (theo radian) c a number. .5. kho ng 1.exp (number): Tr l i giá tr e^ number.14159. Math. SQRT2: Căn b c 2 c a 2.random (r): Tr l i m t s ng u nhiên gi a 0 và 1. kho ng 2. Giá tr c a number ph i nămg gi a -1 và 1. 3. LN2: logarit t nhiên c a 2. Math.sin (number): Tr l i sin c a number.Các thu c tính E: H ng s Euler. 86 . Math.pow(base. Math.302.min (num1. i tư ng Date không có thu c tính và chương trình x lý s ki n. Math. v i e là h ng s Euler. kho ng 3.718.414. LOG2E: logarit cơ s 2 c a e.max (num1. PI: Giá tr c a π.cos (number): Tr l i giá tr cosine c a number.693. Giá tr c a number ph i nămg gi a -1 và 1. Math. Math.acos (number): Tr l i giá tr arc cosine (theo radian) c a number. i tư ng Date i tư ng Date là i tư ng có s n trong JavaScript. kho ng 1. kho ng 2.707.num2): Tr l i giá tr nh nh t gi a num1 và num2. Các phương th c Math.Math.exponent):Tr l i giá tr base lu th a exponent. Math.13. kho ng 0. Math.11. Nó cung c p nhi u phương th c có ích x lý v th i gian và ngày tháng.floor (number): Tr l i s nguyên l n nh t nh hơn ho c b ng number. SQRT1_2: Căn b c 2 c a 0. kho ng 0.abs (number): Tr l i giá tr tuy t i c a number. Math.round (number): Tr l i giá tr c a number làm tròn t i s nguyên g n nh t.log (number): Tr l i logarit t nhiên c a number.ceil (number): Tr l i s nguyên nh nh t l n hơn ho c b ng number.tan (number): Tr l i tag c a number.num2): Tr l i giá tr l n nh t gi a num1 và num2 Math. Phương th c này ch th c hi n ư c trên n n t ng UNIX. LN10: logarit t nhiên c a 10. Math. Math.442. Math.sqrt (number): Tr l i căn b c 2 c a number.

Ph n l n các phương th c date th c gi i thi u trong ph n này s d ng u có m t i tư ng Date i cùng.setDay(day): t ngày trong tháng là day cho dateVar.setHours(hours): dateVar..6=th b y) cho dateVar.seconds]): Tr l i s lư ng mili giây t 00:00:00 01/01/1970 GMT. i tư 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.toLocaleString():Tr l i chu i bi u di n dateVar theo khu v c th i gian hi n th i.getHours(): Tr l i gi (0-23) cho dateVar. dateVar. day [. dateVar. dateVar. dateVar. Các phương th c 3. month.parse (dateStr): 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. dateVar.setMonths(months): dateVar. dateVar. dateVar. Các phương th c 87 .. Các phương i tư ng Date dateVar.setYear(years): t năm là years cho dateVar. t phút là minutes cho dateVar.getMinutes(): Tr l i phút (0-59) cho dateVar. dateVar.getSeconds(): Tr l i giây (0-59) cho dateVar. dateVar.toGMTString(): Tr l i chu i bi u di n dateVar dư i d ng GMT.getTime(): Tr l i s lư ng các mili giây t 00:00:00 ngày 1/1/1970.minutes] [. t gi là hours cho dateVar.13. t tháng là months cho dateVar.getDay(): Tr l i ngày trong tu n (0=ch dateVar.12.getYear():Tr l i năm cho dateVar. dateVar. dateVar. dateVar. 1996 20:45:04'). Date. Date. t giây là seconds cho dateVar. trong ó value bi u di n s lư ng mili giây t 00:00:00 ngày 01/01/10970.getTimeZoneOffset(): Tr l i d ch chuy nb ng phút c a gi phương hi n t i so v i gi qu c t GMT.setMinutes(minutes): dateVar. dateVar. Ví d : dateVar = new Date ('August 16.setSeconds(seconds): a nh t.UTC (year.setTime(value): t th i gian là value.getDate(): Tr l i ngày trong tháng (1-31) cho 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..hours] [.

Các ph n t c a form làm vi c v i các ph n t 88 .- str.substring(a. gi ng th <SUB>. str.sub(): T o ra m t subscript cho chu i str.index]) . Các ký t ư c m t trái sang ph i b t u t 0. str. str.fontcolor(): K t qu gi ng như th <FONTCOLOR = color>. gi ng th <SUP>. Chu i str ư c tìm t trái sang ph i. ng). Chu i str ư c tìm t ph i sang trái. Tham str.big(): K t qu gi ng như th <BIG> trên chu i str. str.fixed(): K t qu gi ng như th <TT> trên chu i str.14. str. 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. str. Khi ó.italics(): K t qu gi ng như th <I> trên chu i str.toLowerCase(): str.fontsize(size): K t qu gi ng như th <FONTSIZE = size>.anchor (name): ư c s d ng t o ra th <A> (m t cách s name là thu c tính NAME c a th <A>.Tr l i v trí trong chu i str v trí xu t hi n u tiên c a chu i srchStr. str. str.index0f(srchStr [.sup(): T o ra superscript cho chu i str.strike(): K t qu gi ng như th <STRIKE> trên chu i str.charAt(a): Tr l i ký t th a trong chu i str.blink(): K t qu gi ng như th <BLINK> trên 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.b): 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.small(): K t qu gi ng như th <SMALL> trên chu i str. str. 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 ta có th vi t nh ng o n scripts c a form và các giá tr c a chúng. str. str. i chu i str thành ch hoa. str. str.link(href): ư c s d ng t o ra m t k t n i HTML str. Các ph n t c a i tư 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.index]): 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. ng cho chhu i - - 3.lastIndex0f(srchStr [.bold(): K t qu gi ng như th <BOLD> trên chu i str. Tham s href là URL ích c a liên k t.toUpperCase(): i chu i str thành ch thư ng. str.

K t h p v i nó là cách th c duy nh t click.14. 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 . M t ph n t button ư c ch nh rõ khi s d ng th INPUT: <INPUT TYPE="button" NAME="name" VALUE= "buttonName"> Ch có m t th s ki n duy nh t i v i button là onClick.Ph n t Mô t button checkbox FileUpload hidden password radio reset M t nút b m b t kỳ (<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 (<INPUT TYPE="file">) M t trư ng n (<INPUT TYPE="hidden">) M t trư ng text nh p m t kh u mà t t c các ký t nh p vào hi n 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> select <OPTION>option1</OPTION> <OPTION>option2</OPTION> </SELECT>) submit text M t nút submit (<INPUT TYPE="submit">) M t trư ng text (<INPUT TYPE="text">) M t trư ng text cho phép nh p vàp nhi u dòng textArea <TEXTAREA>default text</TEXTAREA>) M i ph n t có th 3.1. Ph n t Button ư c t tên JavaScript truy nh p n chúng qua tên Trong m t form HTML chu n. Ph n t buttton có kh năng m r ng cho phép ngư i l p trình 89 .

JavaScript có th vi t ư c m t o n mã l nh JavaScript nút b m trong m t script.value = eval(form. } // 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. Ph n t Checkbox nh giá 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. ta có th ch nh s a script bi u th c khi button ư c b m.results. 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. Phương th c và thu c tính Mô t 90 . Các thu c tính và cách th c c a ph n t checkbox. <HTML> <HEAD> <TITLE>button Example</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-.entry. Các checkbox có nhi u thu c tính và cách th c hơn button.blur().value). th c thi vi c thêm vào m t Trong ví d sau. Ví d : nh giá m t form s d ng ph n t button.14."> </FORM> </BODY> </HTML> 3.form). thay vì s d ng onChange."> <BR> <INPUT TYPE="button" VALUE="Calculate" onClick="calculate(this.HIDE FROM OTHER BROWSERS function calculate(form) { form.2.

HIDE FROM OTHER BROWSERS function calculate(form. } else { form.callingField) { if (callingField == "result") { // if(1) if (form.checked defaultChecked name 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 (thu c tính) nh c a ph n t (thu c tính) ư c ch nh trong th INPUT value Cho bi t giá tr hi n th i c a ph n t trong th INPUT (thu c tính) Mô t m t click vào checkbox (Cách th c) ư c ch nh click() Ph n t checkbox ch có m t thu c tính s ki n là onClick Ví d : T o h p checkbox phương: nh p vào m t s r i l a ch n tính nhân ôi và bình <HTML> <HEAD> <TITLE>checkbox Example</TITLE> <SCRIPT> <!-.value / 2.square.value = form.checked) { // if(3) form.result.value * 2. } else { form.value.result.entry. } //enfzd if(3) }//end if(1) }//end function // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> 91 .sqrt(form.result.value*form.value).entry.value = Math.entry.value = form.entry.checked) { // if(2) form.result.value=form. } //end if(2) } else{ if (form.entry.square.

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

value * 2. blur(). 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ý.4. ch có m t nút ư c ch n trong b t kỳ m t th i i m nào. c hai i tư ng khác.result.14. name và value.3. ó cũng là nh ng giá tr xâu gi ng các i tư ng khác. Ví d dòng l nh sau t o ra m t nhóm radio có ba nút tên là test: 93 . Ph n t Radio Ph n t 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. Trư ng hidden có th s d ng lưu các giá tr c n thi t g i t 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. u là giá tr xâu như các 3. Ph n t này cũng ko có phương th c hay thu c tính s ki n 3.entry.value = 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. Nó cho phép ưa vào nh ng thông tin bí m t như ăng ký m t kh u. 3.5. Ph n t file Upload ư c ch nh rõ trong JavaScript b ng i tư ng FileUpload. Ph n t Password Ph n t 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(*). i tư ng ch có hai thu c tính là name và value.14. } // end if (3) } // end if (1) } 3. and onSelect. Password có nhi u phương th c hơn (focus().14. i tư ng Password có 3 thu c tính gi ng ph n t text là: defaultValue.. Không gi ng v i hai ph n t trên..} else { form. Khi nhi u radio ư c k t h p thành m t nhóm. onBlur. 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. Không có phương th c cho ph n t này. and select() ) và tương ng v i các thu c tính s ki n: onFocus. Ph n này s ư c nói k hơn trong i tư ng text.14. i tư ng hidden ch có hai thu c tính là name và value.6.

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". Do m t nhóm radio g m nhi u ph n t radio. t cho chúng có cùng m t tên trong các th 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.checked" minh ho rõ cách dùng Ví d : i tư ng radio. Thu c tính và phương th c checked defaultChecked index length name value 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) Mô t th t c a nút radio ư c ch n hi n th i trong m t nhóm Mô t t ng s nút radio trong m t nhóm Mô t tên c a ph n t (thu c tính) ư c ch nh trong th INPUT ư c nh ra trong th Mô t giá tr hi n th i c a ph n t INPUT (thu c tính) click() Mô ph ng m t click trên nút radio (cách th c) Cũng như checkbox.test[1]" và có th ki m tra giá tr c a nó b ng "testform.<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> Nhóm các nút radio l i b ng cách INPUT. ta xem ví d sau: <HTML> <HEAD> <TITLE>radio button Example</TITLE> <SCRIPT> <!-. B ng sau hi n th các thu c tính và cách th c c a i tư ng radio. radio ch có m t thu c tính s ki n là onClick.HIDE FROM OTHER BROWSERS function calculate(form. nên chúng ư c t trong m t m ng các nút radio và ư c ánh s t 0. Trong ví d nhóm radio có tên test trên. Các thu c tính và cách th c c a i tư ng radio.callingField) { 94 .test[1]. Không có b t kỳ m t i tư ng form nào có thu c tính index và length.

form.value = Math.this.checked) { form.this.entry. } } } // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <FORM METHOD=POST> Value: <INPUT TYPE="text" NAME="entry" VALUE=0 onChange="calculate(this."> Double<BR> <INPUT TYPE="radio" NAME="action" VALUE="square" onClick="calculate(this.value * 2."> <BR> Action:<BR> <INPUT TYPE="radio" NAME="action" VALUE="twice" onClick="calculate(this.result."> </FORM> </BODY> </HTML> Trong ví d này.checked.value / 2.checked) { form. } else { form.if (callingField == "result") { if (form.name).value = form. B ng cách này.action[1].form.value). } } else { if (form. Thay cho m t checkbox trong ví d trư c.this.form.name).name). } else { form.checked thành form.form. s thay i t checkbox trên là r t khó nh n bi t.name). do ó hai nút này có th truy nh p b ng action[0] và action[1].this.entry. "> Square <BR>Result: <INPUT TYPE=text NAME="result" VALUE=0 onChange="calculate(this.result.sqrt(form.value*form.result.value.square.entry.value=form.result.entry.action[1]. â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.action[1]. b n ch c n thay i tham chi u n hàm calculate() t form.entry.value = form. 95 .

B sung thêm vào m ng option. thu c tính c n thay i và giá tr mà nó s nh n như ví d sau : example. Có th thêm các l a ch n m i vào danh sách b ng cách s d ng d ng Option() theo cú pháp: i tư ng xây newOptionName = new Option(optionText. i tư ng này t o ra V i các thành ph n l a ch n.14.14. có ch a s th t c a option ư c l a ch n hi n th i. i tư ng reset thư ng dùng xoá form. 3. 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. m ng là m t thu c tính c a i tư ng select g i là options. onFocus. TEXT: có ch a giá tr c a dòng text hi n th trên menu cho m i option. Tuy nhiên. optionValue. và thu c tính value m i giá tr ch ra trong th OPTION. i i tư ng select không có các phương th c ư c nh nghĩa s n. và m t phương th c click(). selected). SELECTED: cho bi t tr ng thái hi n th i c a option INDEX: ch a giá tr s th t c a option h ên th i trong m ng option.options[1].options[index] = newOptionName.3. Trong trư ng h p này. H u h t nh ng ngư i l p trình không s d ng thu c tính s ki n onClick c a nút reset ki m tra giá tr c a nút này. selectListName.7.text = "two". onChange. ph n t select có thu c tính selectedIndex. tư ng select có 3 thu c tính s ki n. ó là onBlur. Ph n t Reset Cũng gi ng i tư ng button. m t vài thành ph n tương t các button và radio. defaultSelected. 96 . Ph n t Select Danh sách l a ch n trong JavaScript là i tư ng select. danh sách các l a ch n ư c ch a trong m t m ng ư c ánh s t 0. m t thu c tính s ki n onClick. M i option trong danh sách l a ch n u có m t vài thu c tính: nh là l a ch n trong DEFAULTSELECTED: cho bi t option có ư c m c th OPTION hay không. i tư ng reset có hai thu c tính là name và value.8. S a các danh sách l a ch n Ta có th thay i ư c các thu c tính c a m t l a ch n b ng cách ch ra th t c a l a ch n.

onChange. Ph n t submit Nút Submit là m t trư ng h p c bi t c a button. 3. Gi ng như i tư ng button và reset. ph n t text cho phép nh p vào m t dòng ơn. Mô t Ch ra giá tr m c nh c a ph n t trong th INPUT (thu c tính) ư c ch ra ã ư c kích ra ngoài ph n t Tên c a i tư ng ư c ch ra trong th INPUT (thu c tính) Giá tr hi n th i c a ph n t (thu c tính) Mô t vi c con tr t i trư ng text (cách th c) Mô t vi c con tr r i trư ng text (cách th c) Mô t vi c l a ch n dòng text trong trư ng text (cách th c) 97 . 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 i tư ng mu n xoá selectListName. defaultSelected và selected như trên ã nh ra nh ng giá tr ki u Boolean. nhưng các ký t c a nó hi n ra bình thư ng.options[index] = null. i tư ng text có ba thu c tính:defautValue.9.14. onFocus. Ph n t này có ba phương th c: focus().Vi c t o i tư ng option() này v i dòng text ư c ch trư c. cũng như nút Reset. cho 3. blur() và select() và có 4 thu c tính s ki n onBlur.14. Ph n t Text Ph n t này là 1 trong nh ng ph n t hay ư c s d ng nh t trong các form HTML. Chú ý các s ki n này ch th c hi n khi con tr text.10. Các thu c tính và cách th c c a Cách th c và thu c tính defaultValue name value focus() blur() select() i tư ng text. 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. Tương t như ph n t Password. phương th c click() và th s ki n onClick. onSelect. name và value. 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. i tư ng submit có s n thu c tính name và value.

và value.this.second. Trong ví d sau ây.first.value. Ví d . select(). name.14. blur(). M ng elements[] Các i tư ng c a form có th ư c g i t i b ng m ng elements[]."> </FORM> </BODY> </HTML> 3.M t chú ý quan tr ng là có th gán giá tr cho trư ng text b giá tr v i thu c tính value."> <INPUT TYPE=text NAME="second" onChange="echo(this.first.name).value.name).second.14. dòng text ư c tiên ư c l p l i trong trư ng text th hai.form. các th s ki n onBlur. onSelect. và m i dòng text ư c th hai l i ư c l p l i trong trư ng text th nh t. ng cách liên k t các ưa vào trư ng u ưa vào trư ng text a nó có th áp d ng <HTML> <HEAD> <TITLE>text Example</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-. else form.currentField) { if (currentField == "first") form. ph n t Textarea có các thu c tính defaultValue.HIDE FROM OTHER BROWSERS function echo(form.12.11. T ng c p nh t các trư ng text . } // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <FORM> <INPUT TYPE=text NAME="first" onChange="echo(this. Ph n t Textarea Cũng như ph n t text.value = form.value = form. onForcus. Ví d ta 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"> 98 . onChange.this.form. 3. Kh năng này c t ng c p nh t ho c thay i d li u. các cách th c focus().

document. ta có th nh nghĩa các thu c tính có tên make. ho c cũng có th g i document.model = “Mustang“ myCar.forms["name"] ho c document. document. 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). th c ra chúng ch khác nhau v cách làm vi c v i cùng m t c u trúc d li u.elements[2]. Ta 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.13.testform. document.name 3. Ví d . document. truy c p n 1 form có th V i khai báo <FORM METHOD=POST NAME="name"> Khi ó ta có th g i là document. function showProps (obj. Mô hình 3.</FORM> Ta có th g i t i ba thành ph n này như sau: document.elements[1].15. 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 ó. ta có th truy nh p n các thu c tính c a nó b ng cú pháp: objectName. 3.year = 69.two.one.propertyName Ta có th nh nghĩa thu c tính cho i tư ng b ng cách gán cho nó m t giá tr .15. M ng forms[] M ng Form ch a t t c các Form trên m t tài li u.forms[] thay vì g i b ng tên form.testform. 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. minh ho vi c mày ư c th c hi n như th nào. objName) { var result=”” for (i in obj) 99 .three.14. 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. model và year c a nó như sau: myCar.make = “Ford“ myCar.elements[0].1. i tư ng (OBJECT MODEL) i tư ng và thu c tính M i i tư ng trong JavaScript có các thu c tính i kèm v i nó. g i b ng document.testform. Thu c tính và m ng trong JavaScript có quan h m t thi t v i nhau.

”myCar”) s hi n lên: myCar. ta có th t o nó b ng cách s d ng kh i t o i tư ng. 3. propertyN: valueN} Trong ó objectName là tên c a i tư ng m i. n u ch mu n t o ra m t i tư ng duy nh t c a m t ki u i tư ng. m i propertyI là m t xác minh (có th là m t tên. T o m t i tư ng m i JavaScript có m t s t o ra nh ng i tư ng m i.. 100 . property2: value2. 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.wheels:4. Cú pháp Initializers): t o ra m t i tư ng b ng cách kh i t o i tư ng (Object objectName={property1: value1. Tuy nhiên. ta cũng có th Trong JavaScript 1.. 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.result=result+ objName + “.year = 69.make = Ford myCar.2. sau ó t o ra các i tư ng có ki u c a hàm ó b ng toán t new Kh i t o i tư ng Ta 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. Ho c n u b n mu n t o ra nhi u cá th c a m t ki u i tư ng.. b n có th t o ra m t hàm xây d ng trư c.15.2. N u như ta không c n dùng n i tư ng ó nhi u l n thì không c n ph i gán nó cho m t bi n.”+ i+ “=” + obj[i] + “\n” return result } Khi g i hàm showProps (myCar. Ví d sau t o ra m t i tư ng myHonda v i 3 thu c tính: myHonda={color:”red”.engine:{cylinder:4. cách này thư ng s d ng khi ta 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.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ó S d ng hàm t o (CONSTRUCTOR FUNCTION) Ta có th t o ra m t i tư ng m i v i hai bư c sau: nh nghĩa ki u c a i tư ng b ng cách vi t m t hàm t o.model = Mustang myCar. .size:2. i tư ng ư c nh nghĩa trư c.

model. model. Ví d ta nh nghĩa thêm m t i tư ng khác là person như sau: function person(name. age.. model.. th c hi n vi c này có th vi t m t hàm như sau: function car(make.owner ){ this. year ){ this.. Khi ó giá tr c a mycar. các thu c tính và các cách th c c a ki u i tư ng ó.sex=sex } Và sau ó ta t o ra hai ngư i m i: rank = new person(“Rank McKinnon”.make = make this. Ví d .owner = owner } Như v y b n có th t o i tư ng ki u car m i: i 101 . Ví d gi s b n mu n t o m t ki u i tư ng ô tô v i tên là car.- 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.C như v y ta có th t o ra nhi u i tư ng ki u car. sex){ this.”Talon TSi”. và mycar.age=age this. 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 tư ng. có các thu c tính make.33. ta ph i t o ra m t hàm ch nh rõ tên. year và color.make là “Eagle”.model = model this.”M”) Bây gi b n nh nghĩa l i hàm xây d ng car như sau: function car(make.39.1993) 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. giá tr c a mycar.year là m t s nguyên 1993. year.name=name this. ta có th t o m t gán giá tr cho các thu c tính c a i tư ng i tư ng m i ki u car như sau: mycar = new car(“Eagle”.model = model this.year = year this.make = make this.year = year } Chú ý vi c s d ng toán t this ph i thông qua các tham s c a hàm.model là “Talon TSi”.”M”) ken = new person(“Ken John”.

forms[1] ho c document.5.owner.15. Ví d th <FORM> th hai trong m t document có thu c tính NAME là “myform” thì ta có th g i t i form ó b ng document.1992.name Chú ý r ng ta cũng có th t o ra m t thu c tính m i cho nghĩa nó. 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. Tham chi u t i các thu c tính c a i tư ng N u ban u ta nh nghĩa m t thu c tính b ng tên c a nó. Ta 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. 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. sau Phương th c là m t hàm ư c liên k t v i m t i tư ng. 3. 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.rank) car2 = new car(“Nissan”. thay vì ph i qua m t xâu ký t hay m t giá tr s khi t o i tư ng. thì s luôn luôn ph i g i nó b ng tên.15. Ví d sau th c hi n thêm thu c tính color cho t t c các ó g n m t giá tr màu cho thu c tính color c a i tư ng car1: car. Vì v y nh nghĩa m t phương th c cho m t i tư ng nghĩa là nh nghĩa m t hàm chu n g n v i i tư ng ó theo cú pháp sau: object.methodName = functionName Trong ó object là functionName là tên hàm i tư ng ang t n t i. 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. 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. và n u nh nghĩa m t thu c tính b ng ch s thì ta cũng luôn luôn ph i g i t i nó b ng ch s .color=null car1. nh nghĩa các phương th c i tư ng ki u car.forms[“myForm”] ho c document. thu c tính color c a i tư ng car1 ư c gán là “black”.car1 = new car(“Eagle”.color=”red” 3. 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.15. nh nghĩa thêm các thu c tính cho m t ki u i tư ng thêm thu c tính cho m t ki u i tư ng ã ư c nh nghĩa trư c ta s d ng thu c tính prototype.”300ZX”.myForm 3.color=”black” Như v y.prototype. methodName là tên cách th c và 102 .ken) Như v y. Tuy nhiên.4. ví d : i tư ng trư c khi nh car1.”Talon TSi”.1993.3.

Ví d ta 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.make + " "+ this.name + " is empty!"). Tham chi u n i tư ng hi n hành JavaScript có m t t khoá c bi t là this mà ta có th s d ng nó cùng v i m t phương th c tham chi u t i i tư ng hi n th i.name + " is too short!").value==""){ alert(obj.g i phương th c c a i tư ng ta s d ng cú pháp: i tư ng b ng cách ưa object.owner = owner this. } else if ( obj.year+ " " + this.make = make this. } else{ if ( obj.6.name + " is too long!") } i tư ng 103 .15.length > maxLength ){ alert(obj.value.displayCar= displayCar. maxLength){ if (obj. Ví d dư i ây dùng ki m tra xem ngư i dùng ã nh p d li u vào Input hay chưa và ki m tra xem dài ó có h p l không function validate(obj.write(result) } Sau ó thêm phương th c này vào cho i tư ng car b ng cách thêm dòng l nh sau vào hàm nh nghĩa i tư ng : this. Như v y có th nh nghĩa l i i tư ng car như sau: function car(make.length < minLength ){ alert(obj.displayCar= displayCar } 3. minLength.model = model this.year = year this.model document.methodName(<tham s >) Ta cũng có th nh nghĩa phương th c cho m t ki u phương th c ó vào trong hàm t o i tư ng. year. model.value.owner ){ this.

15)" > Khi thu c tính this ư c g n v i m t ph n t c a Form thì ta có th s d ng cú pháp this.6. Xóa i tư ng Ta 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).form tham chi u n Form cha c a ph n t ó 3. 104 .} } Sau ó ta có th g i hàm validate t m i s ki n onChange: <INPUT TYPE="Password" NAME="password" SIZE=3 onChange= "validate(this.7. JavaScript s óng i tư ng ó ngay l p t c thông qua bi u th c gán.15.

...........................................................................................................9.................................. Hàm t đ nh nghĩa .............. 67 3......................................................... Bi u th c và phân lo i bi u th c . 66 3................................................................................................. H p tho i Prompt .........................4...................................................................................4................ 54 3..............11..........................2............................. Bi n và ph m vi c a bi n ................................................. 63 3....2........................ 63 3..............................................4................................................. 54 3........ Vòng l p FOR ..........................................................................1....................... 71 3..7.......... 56 3................. T ng quan v Javascript ...................................................6..... 68 3................. Khai báo và s d ng hàm ........................................1.................. 69 3........................................7.......... 54 3...............3.... Các lo i toán t ....................................... Câu l nh l a ch n switch ........... 69 3.... THIS..............8....................................................................................................................................................11......................... Th <NoScript> và </NoScript> ....... 3................... Các thu c tính và phương th c c a m ng ............................................... 69 3.................... 61 3..................................................... 56 3................................ 70 3.............................. 61 3............................9..............................2.3...............................................................10..................M cl c 3......... 53 Nhúng JavaScript vào file HTML................. 3.......................................................... S d ng th SCRIPT ............................................................2... H p tho i Confirm ....................................................1........................................................... 72 105 ...............11........................................2........................... Các câu l nh thao tác trên đ i tư ng ......... C u trúc đi u khi n ...............................................9.........IN .................................... Hi n th văn b n ........9........... Thay đ i các giá tr trong m t m ng..........................................................8.............................................. Khai báo m t m ng ............................................................................................................................................................ Câu l nh FOR.................................................. Câu l nh đi u ki n IF .................................................... 72 3.....................................................1................................... 71 3.. 59 Các ki u d li u .....8................. 3............................ 68 3........ WITH ...3...............................1.........................10.........................................................................................1. S d ng m t file ngu n JavaScript ................... 68 3....2.........................................1......................1.3.............. H p tho i Alert .......5.2..... 60 Bi u th c và các toán t ............................................4......................... 68 3.................................4.............................................11..........................................8.......4...............7...........................................................2. 58 3............................ M t s hàm có s n ......................................9..........10...................................................8..... 55 Các lo i h p tho i trong JavaScript ....3...........................8........... WHILE ....................5.......................................2.............3.. 57 3... 64 3..2.............................. 65 3.............. Câu l nh Break và Continue...... 55 3............................ Câu l nh NEW .......................................................................2... 3. 61 3............. M ng trong JavaScript .........................................................................................................................................................................

......................................8.... Đ nh nghĩa thêm các thu c tính cho m t ki u đ i tư ng.........................14...........................13.4..............2.......................11.....10.......................... Đ i tư ng Link .............................................................3......... 90 3.....................................................5................................... 93 3...........13................................. 97 3.............................................3............... Ph n t Button .................. 97 Ph n t Textarea ....... Ph n t Text ....................................................... 3........... 83 3................ Đ i tư ng Navigator.........................12...............13............................15........3.................................................................1............. Ph n t Hidden ..... Tham chi u t i các thu c tính c a đ i tư ng ................................................. Đ nh nghĩa các phương th c ..................................................... Đ i tư ng Frame .......................13................ Ph n t Reset .........................15............ 102 106 ............................ Các đ i tư ng trong JavaScript . 88 3......................................... Đ i tư ng Form .12...............................................................................13............................4................................................................................................ 81 3................................................14................14........................................................................................................................................................................................................ Mô hình đ i tư ng (OBJECT MODEL)......................................... 102 3.....14............................. Ph n t Radio ....................................................15.............8.........2................... 83 3.............10.... 96 3.. 87 3.....6..........14... 3........................7.............. 99 3................................14.................15................ Ph n t submit ..................................... L p trình s lý s ki n ....13.............................................5.......... Ph n t Select ......................... 100 3........................................................... 81 3.............................................................................. Ph n t Password ........14.................................13....................4.................................................................................................. 86 Đ i tư ng String ........13.....................................................................................................2........13..................6...15.14............................15.............. 85 Đ i tư ng Date ........................ 93 3.. 102 3..13........................... 98 M ng forms[] .....12..................... 84 3.................................................................................. 76 3.... 77 3....................................................................... Đ i tư ng Location......9......................... Đ i tư ng Document .. Các ph n t c a đ i tư ng Form......14...................................................................14...........7..... T o m t đ i tư ng m i ....................................... 79 3...............................1.......................14. 93 3........................................................................................................................14...........................................3.................................1............ Ph n t File Upload ..................................5.......................................................................13... 98 M ng elements[] ............11.... Đ i tư ng History .............................................. Đ i tư ng Math .... 99 3.....................................................................13.................................................. 89 3..14................................................. Đ i tư ng Anchors ................... 84 3................................................. 93 3.......................................... 3..14.................................13...................................... Đ i tư ng Window ..... 99 3...............................................13................ Ph n t Checkbox ...................... 79 3................. Đ i tư ng và thu c tính . 96 3..........................................................................................................9............... 3................................................... 3....... 85 3.........

......................................6.............................15............7.............. 103 3.............................. Tham chi u đ n đ i tư ng hi n hành .3.................. 104 107 ....................15.................... Xóa đ i tư ng...........................

Sign up to vote on this title
UsefulNot useful