Sunteți pe pagina 1din 89

JavaScript

1
Gio trnh JavaScript
***
chng 1 Li ni u.................................................................................................... 4
Chng 2 Nhp mn JavaScript..................................................................................... 5
2.1.Nhng JavaScript vo fle HTML.....................................................................5
2.3. Th <NScript! v <"NS#$%&T!.................................................................'
2.3. Hi(n th) *+t ,-ng te.t................................................................................/
2.0. 1iao ti2p v3i ng4i 56 ,7ng.............................................................................8
2.5. 9i(* l:i c;c l<nh v *= r+ng......................................................................12
Chng 3 i!n tr"ng JavaScript...................................................................................13
3.1. >i2n v ph?n lo:% @i2n...............................................................................13
3.2. >i(A ,iBn tC tD trong JavaScript..................................................................13
3.3. Ei(A ,F li<A............................................................................................... 13
1.1.1. E%(A ngAGHn I%ntergerJ.........................................................................10
1.1.2. Ei(A ,KA phLG M+ng INloating &ointJ...................................................10
1.1.3. Ei(A logic I>ooleanJ.............................................................................15
1.1.0. Ei(A chAOi IStringJ...............................................................................15
2. Xy dng cc biu thc trong JavaScript........................................16
#nh ngh$a v% ph&n '"() *i+u th,c..........................................................................1-
C.c t".n t/ 0"p1rat"r2................................................................................................. 1-
2.1.1. 1;n....................................................................................................... 1'
2.1.2. So 5;nh................................................................................................. 1'
2.1.3. SD hPc.................................................................................................. 1/
2.1.0. #hAOi.................................................................................................... 1/
2.1.5. Logic..................................................................................................... 1/
2.1.'. >itQi5e................................................................................................. 1R
%i tp13
2.1./. #?A hSi................................................................................................ 18
2.1.R. TrT l4i................................................................................................... 18
. !c "#nh........................................................................................2$
C&u '4nh i5u 6i4n.................................................................................................. 27
C&u '4nh '8p............................................................................................................ 21
3.1.1. U-ng lVp Wor........................................................................................ 21
3.1.2. Qhile..................................................................................................... 22
3.1.3. >reaX.................................................................................................... 22
3.1.0. continAe............................................................................................... 22
C.c c&u '4nh tha" t.c tr9n :i t;ng...........................................................................23
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
2
3.1.5. Wor...in................................................................................................... 23
3.1.'. neQ...................................................................................................... 20
3.1./. thi5....................................................................................................... 2'
3.1.R. Qith...................................................................................................... 2'
C.c h%m 0<uncti"n=2................................................................................................... 2>
C.c h%m c =?n......................................................................................................... 23
3.1.8. eval...................................................................................................... 28
3.1.1[. par5e%nt................................................................................................ 3[
3.1.11. par5eNloat............................................................................................ 31
@Ang 0BrraC2.............................................................................................................. 32
SD 6i4n....................................................................................................................... 34
%i tp3>
3.1.12. #?A hSi................................................................................................ 3/
3.1.13. TrT l4i................................................................................................... 38
%. !c &'i t(ng trong JavaScript..........................................................%2
E:i t;ng navigat"r........................................................................................................ 44
E:i t;ng FinG"F........................................................................................................... 45
0.1.1. #;c thA+c t\nh..................................................................................... 05
0.1.2. #;c ph]ng th^c....................................................................................0'
0.1.3. #;c ch]ng tr_nh .6 l` 5a Xi<n.............................................................0/
E:i t;ng '"cati"n.......................................................................................................... 4>
E:i t;ng Hram1............................................................................................................. 4I
0.1.0. #;c thA+c t\nh..................................................................................... 0R
0.1.5. #;c ph]ng th^c....................................................................................0R
0.1.'. S6 ,7ng Nra*e..................................................................................... 0R
E:i t;ng G"cum1nt....................................................................................................... 57
0.1./. #;c thA+c t\nh..................................................................................... 51
0.1.R. #;c ph]ng th^c....................................................................................51
E:i t;ng anch"r=.......................................................................................................... 51
E:i t;ng H"rm=.............................................................................................................. 52
0.1.8. #;c thA+c t\nh..................................................................................... 52
0.1.1[. #;c ph]ng th^c....................................................................................52
0.1.11. #;c ch]ng tr_nh .6 l` 5a Xi<n.............................................................52
E:i t;ng hi=t"rC............................................................................................................ 53
0.1.12. #;c thA+c t\nh..................................................................................... 53
0.1.13. #;c ph]ng th^c....................................................................................53
E:i t;ng 'in6=............................................................................................................... 53
0.1.10. #;c thA+c t\nh..................................................................................... 53
0.1.15. #;c ch]ng tr_nh .6 l` 5a Xi<n.............................................................50
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
3
E:i t;ng @ath............................................................................................................... 54
0.1.1'. #;c thA+c t\nh..................................................................................... 50
0.1.1/. #;c ph]ng th^c....................................................................................50
E:i t;ng Jat1............................................................................................................... 55
0.1.1R. #;c ph]ng th^c....................................................................................55
E:i t;ng String............................................................................................................. 5-
0.1.18. #;c ph]ng th^c....................................................................................5'
C.c phn t/ cKa :i t;ng <"rm...................................................................................5>
0.1.2[. ThA+c t\nh tGpe...................................................................................5R
0.1.21. &hbn t6 @Atton..................................................................................... 5R
0.1.22. &hbn t6 checX@o..................................................................................58
0.1.23. &hbn t6 Nile cploa,..............................................................................'1
0.1.20. &hbn t6 hi,,en..................................................................................... '1
0.1.25. &hbn t6 &a55Qor,.................................................................................'1
0.1.2'. &hbn t6 ra,io........................................................................................ '2
0.1.2/. &hbn t6 re5et........................................................................................ '0
0.1.2R. &hbn t6 5elect...................................................................................... '0
). *+ hnh &'i t(ng ,-b./ct *od/"0....................................................1%
E:i t;ng v% thuLc tMnh................................................................................................. >4
N(" c.c :i t;ng mOi.................................................................................................... >5
5.1.1. S6 ,7ng Xh=i t:o MDi tdng...................................................................../5
5.1.2. S6 ,7ng *+t h* .?G ,angI#on5trActor NAnctionJ............................./'
5.1.3. Lep *7c l7c cho c;c thA+c t\nh cfa MDi tdng.......................................//
5.1.0. 9)nh nghga thH* c;c thA+c t\nh cho *+t Xi(A MDi tdng....................../R
5.1.5. 9)nh nghga c;c c;ch th^c..................................................................../R
5.1.'. S6 ,7ng cho c;c tha* chi2A MDi tdng I@hect $eWerence5J................../8
5.1./. io; MDi tdng......................................................................................... /8
6. 23ng t4ng 56t cc t7 5ho.............................................................8$
1. 94ng 56t......................................................................................81
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
0
ch:ng 1 ;<i n=i &>u
U3i HTML an, Micro5oWt Nront&age @:n Mj @i2t c;ch t:o ra trang ke@ l
tAG nhiHn chm *3i = *^c @i(A ,iBn thnng tin ch^ cha phTi l c;c trang
ke@ M+ng co XhT npng M;p ^ng c;c 5a Xi<n tC ph\a ng4i ,qng. Hjng
Net5cape Mj Ma ra ngnn ngF 5cript co tHn l LiveScript M( thac hi<n
ch^c npng nG. SaA Mo ngnn ngF nG Mdc Mri tHn thnh JavaScript
M( ten ,7ng t\nh M:i chng cfa ngnn ngF lep tr_nh Java. MVc ,q co
nhFng Mi(* t]ng Msng giFa Java v JavaScriptY nhng chng vtn l
hai ngnn ngF riHng @i<t.
JavaScript l ngnn ngF ,3i ,:ng 5cript co th( gun v3i c;c fle HTML. No
Xhnng Mdc @iHn ,)ch * Mdc tr_nh ,AG<t ,iBn ,)ch. Ehnng giDng Java
phTi chAG(n thnh c;c *j ,B @iHn ,)chY tr_nh ,AG<t MPc JavaScript ,3i
,:ng *j ngAsn. #h\nh v_ veG @:n co th( ,B ,ng hPc JavaScript vAa
v\ ,7 @=i v_ @:n co th( thKG c;ch 56 ,7ng JavaScript trHn c;c trang
ke@.
JavaScript l ngnn ngF ,aa trHn MDi tdngY co nghga l @ao gs* nhiwA
Xi(A MDi tdngY v\ ,7 MDi tdng Math v3i tKt cT c;c ch^c npng to;n hPc.
TAG veG JavaScript Xhnng l ngnn ngF h3ng MDi tdng nh #xx haG Java
,o Xhnng hO trd c;c l3p haG t\nh thCa X2.
JavaScript co th( M;p ^ng c;c 5a Xi<n nh tTi haG lo:i @S c;c Wor*. EhT
npng nG cho phyp JavaScript tr= thnh *+t ngnn ngF 5cript M+ng.
1iDng v3i HTML v JavaY JavaScript Mdc thi2t X2 M+c lep v3i h< MiwA
hnh. No co th( ch:G trHn @Kt Xz h< MiwA hnh no co tr_nh ,AG<t hO
trd JavaScript. Ngoi ra JavaScript giDng Java = Xh\a c:nh an ninh{
JavaScript Xhnng th( MPc v vi2t vo fle cfa ng4i ,qng.
#;c tr_nh ,AG<t Qe@ nh Ne5cape Navigator 2.[ tr= Mi co th( hi(n th)
nhFng c?A l<nh JavaScript Mdc nhng vo trang HTML. Ehi tr_nh
,AG<t GHA cbA *+t trangY 5erver 5| g6i MbG Mf n+i ,Ang cfa trang MoY
@ao gs* cT HTML v c;c c?A l<nh JavaScript vAa *:ng t3i client. #lient
5| MPc trang Mo tC MbA M2n cADiY hi(n th) c;c X2t vAT cfa HTML v
.6 l` c;c c?A l<nh JavaScript Xhi no chng .AKt hi<n.
#;c c?A l<nh JavaScript Mdc nhng trong *+t trang HTML co th( trT l4i
cho c;c 5a Xi<n cfa ng4i 56 ,7ng nh X\ch chA+tY nhep vo *+t Wor* v
MiwA h3ng trang. U\ ,7 @:n co th( Xi(* tra c;c gi; tr) thnng tin * ngl
4i 56 ,7ng Ma vo * Xhnng cbn M2n @Kt c^ *+t vA; tr_nh trAGwn
trHn *:ng no. Trang HTML v3i JavaScript Mdc nhng 5| Xi(* tra c;c gi;
tr) Mdc Ma vo v 5| thnng @;o v3i ng4i 56 ,7ng Xhi gi; tr) Ma vo l
Xhnng hdp l<.
M7c M\ch cfa phbn nG l gi3i thi<A vw ngnn ngF lep tr_nh JavaScript
M( @:n co th( vi2t c;c 5cript vo fle HTML cfa *_nh.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
5
!h:ng 2 ?h@p A+n JavaScript
2.1.?hBng JavaScript vCo D"/ E9*;
>:n co th( nhng JavaScript vo *+t fle HTML theo *+t trong c;c c;ch
5aA M?G{
S6 ,7ng c;c c?A l<nh v c;c h* trong cVp th <SCRIPT>
S6 ,7ng c;c fle ngAsn JavaScript
S6 ,7ng *+t @i(A th^c JavaScript l* gi; tr) cfa *+t thA+c
t\nh HTML
S6 ,7ng th 5a Xi<n Ievent han,ler5J trong *+t th HTML no
Mo
Trong MoY 56 ,7ng cVp th <SCRIPT!...<"SCRIPT! v nhng *+t fle
ngAsn JavaScript l Mdc 56 ,7ng nhiwA h]n cT.
2.1.1.SF dGng thH S!IJK9
Script Mdc Ma vo fle HTML @}ng c;ch 56 ,7ng
cVp th <SCRIPT! v <~SCRIPT!. #;c th
<S#$%&T! co th( .AKt hi<n trong phbn <H!
haG <>! cfa fle HTML. N2A MVt trong phbn
<H!Y no 5| Mdc tTi v 5n 5ng tr3c Xhi phbn
c-n l:i cfa vpn @Tn Mdc tTi.
ThA+c t\nh ,AG nhKt Mdc M)nh nghga hi<n th4i
cho th <SCRIPT! l LANGUAGE ,qng M(
.;c M)nh ngnn ngF 5cript Mdc 56 ,7ng. #o hai gi;
tr) Mdc M)nh nghga l JavaScript v U>Script. U3i ch]ng tr_nh vi2t
@}ng JavaScript @:n 56 ,7ng c ph;p 5aA {
<S!IJK9 LN1c1JavaScript!
"" %NS$T LL JavaScript H$
<"S!IJK9!
9i(* Xh;c nhaA giFa c ph;p vi2t c;c ghi ch giFa HTML v JavaScript
l cho phyp @:n Ln c;c *j JavaScript trong c;c ghi ch cfa fle HTMLY
M( c;c tr_nh ,AG<t c Xhnng hO trd cho JavaScript co th( MPc Mdc no
nh trong v\ ,7 5aA M?G{
<S!IJK9 LN1c1JavaScript!
<ll Nro* here the JavaScript co,e hi,,en
"" %NS$T LL JavaScript H$
"" Thi5 i5 Qhere the hi,,en en,5 ll!
<"S!IJK9!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
!hB LM
Ghi chB 5h+ng &(c
&Nt trong cNp thH
OP vC PQ nh ghi chB
trong D"/ E9*;. !B
php cRa
JavaScript t:ng t
cB php cRa ! nSn
c= th TF dGng UU
hay U* ... *U.
JavaScript
'
-ng cADi cqng cfa 5cript cbn co ,KA "" M( tr_nh ,AG<t Xhnng ,iBn
,)ch ,-ng nG ,3i ,:ng *j JavaScript. #;c v\ ,7 trong ch]ng nG Xhnng
ch^a MVc Mi(* Ln cfa JavaScript M( *j co th( ,B hi(A h]n.
2.1.2. SF dGng AVt D"/ nguWn JavaScript
ThA+c t\nh SPC cfa th <SCP)QN! cho phyp @:n chm r fle ngAsn
JavaScript Mdc 56 ,7ng I,qng ph]ng ph;p nG haG h]n nhng trac ti2p
*+t Mo:n l<nh JavaScript vo trang HTMLJ.
# ph;p{
<S!IJK9 S$#flena*e.h5!
....
<"S!IJK9!
ThA+c t\nh nG rKG hFA ,7ng cho vi<c chia 5 c;c h* ,qng chAng cho
nhiwA trang Xh;c nhaA. #;c c?A l<nh JavaScript n}* trong cVp th
<SCP)QN! v <RSCP)QN! co ch^a thA+c tinh SPC trC Xhi no co lOi. U\ ,7
@:n *ADn Ma ,-ng l<nh 5aA vo giFa cVp th SSCP)QN SPCTU...UV v
SRSCP)QNVW
docuA/nt.Xrit/,YZh+ng tA th[y D"/ JS &a vCo\Y0]
ThA+c t\nh SPC co th( Mdc M)nh r @}ng M)a chm XPLY c;c liHn X2t
hoVc c;c M4ng ,tn tAG<t MDiY v\ ,7{
OS!IJK9 SI!^Y httpMUUcT/.coA.vn YQ
#;c fle JavaScript @Hn ngoi Xhnng Mdc
ch^a @Kt Xz th HTML no. #hng chm Mdc
ch^a c;c c?A l<nh JavaScript v M)nh
nghga h*.
THn fle cfa c;c h* JavaScript @Hn ngoi
cbn co MAni .jsY v 5erver 5| phTi ;nh .:
MAni .js Mo t3i Xi(A M%M application".l
hava5cript. 9o l nhFng g_ * 5erver g6i
tr= l:i phbn Hea,er cfa fle HTML. 9( ;nh .: MAni nG vo Xi(A M%MY
ta thH* ,-ng 5aA vo fle *i*e.tGpe5 trong M4ng ,tn cKA h_nh cfa
5erverY 5aA Mo Xh=i M+ng l:i 5erver{
typ/^app"icationU_P.avaTcript
N2A 5erver Xhnng ;nh .: Mdc MAni .Y= t3i Xi(A MIME application/x-
javascript Y Navigator 5| tTi fle JavaScript Mdc chm ra trong thA+c t\nh
SPC vw Xhnng Mng c;ch.
Trong v\ ,7 5aAY h* @ar co ch^a .?A leWt n}* trong *+t cVp ,KA
nh;G Xyp{
`unction @arIQi,th&ctJ
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
Ch
Khi bn mun ch ra
mt xu trch dn
trong mt xu khc c!n
s" d#ng d$u nh% &'n (
) * &+ ,hn &-nh xu
&.. /i0u n1% cho ,h2,
scri,t nh3n ra xu k
JavaScript
/
docuA/nt.Xrit/I <EI L%1NLNT k%THxQi,th&ctx!J

2.. 9hH O?-ScriptQ vC OU?-S!IJK9Q


#Vp th nG ,qng M( M)nh r n+i ,Ang thnng @;o cho ng4i 56 ,7ng
@i2t tr_nh ,AG<t Xhnng hO trd JavaScript. Ehi Mo tr_nh ,AG<t 5| Xhnng
hi(A th <NS#$%&T! v no @) l4 MiY c-n Mo:n *j n}* trong cVp th
nG 5| Mdc Navigator hi(n th). Ngdc l:iY n2A tr_nh ,AG<t co hO trd
JavaScript th_ Mo:n *j trong cVp th <NS#$%&T! 5| Mdc @S vAa. TAG
nhiHnY MiwA nG cng co th( .TG ra n2A ng4i 56 ,7ng Xhnng 56 ,7ng
JavaScript trong tr_nh ,AG<t cfa *_nh @}ng c;ch tut no Mi trong h+p
Qr1H1r1nc1=RBGvanc1G.
ZM G[W
<?-S!IJK9!
<>! Trang nG co 56 ,7ng JavaScript. o Mo @:n cbn 56 ,7ng tr_nh ,AG<t
Net5cape Navigator tC ver5ion 2.[ tr= Mi
<>$!
< H$Nhttp{""ho*e.net5cape.co*"co*pr,"*irror"in,e..ht*l!
HjG X\ch chA+t vo M?G M( tTi vw phiHn @Tn Net5cape *3i h]n
<"!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
R
<">$!
N2A @:n Mj 56 ,7ng tr_nh ,AG<t Net5cape tC 2.[ tr= Mi * vtn MPc Mdc ,-ng
chF nG th_ hjG @et &reWerence5",vance,"JavaScript lHn
<"NS#$%&T!
\]nh 2.3W Minh ho: th NS#$%&T
2.. Ein tha AVt dbng t/_t
Trong hbA h2t c;c ngnn ngF lep tr_nhY *+t trong nhFng XhT npng c]
5= l hi(n th) ra *n h_nh *+t ,-ng te.t. Trong JavaScriptY ng4i lep
tr_nh cng co th( MiwA Xhi(n vi<c .AKt ra *n h_nh cfa client *+t
,-ng te.t tAbn ta trong fle HTML. JavaScript 5| .;c M)nh Mi(* * no
5| .AKt ra trong fle HTML v ,-ng te.t X2t vAT 5| Mdc ,)ch nh c;c ,-ng
HTML Xh;c v hi(n th) trHn trang.
H]n nFaY JavaScript c-n cho phyp ng4i lep tr_nh 5inh ra *+t h+p
thnng @;o hoVc .;c nhen gs* *+t hoVc hai nt. Ngoi raY ,-ng te.t
v c;c con 5D c-n co th( hi(n th) trong tr4ng TiT v TiT$ cfa
*+t Wor*.
Trong phbn nGY ta 5| hPc c;ch th^c Xrit/,0 v Xrit/"n,0 cfa MDi tdng
docuA/nt.
9Di tdng docuA/nt trong JavaScript Mdc thi2t X2 5n hai c;ch th^c M(
.AKt *+t ,-ng te.t ra *n h_nh client{ Xrit/,0 v Xrit/"n,0. #;ch gPi
*+t c;ch th^c cfa *+t MDi tdng nh 5aA{
ob./ctcnaA/.prop/rtycnaA/
F li<A * c;ch th^c ,qng M( thac hi<n cnng vi<c cfa no Mdc Ma vo
,-ng tha* 5DY v\ ,7{
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
8
docuA/nt.Xrit/,Y9/TtY0]
docuA/nt.Xrit/"n,d9/Ttd0]
#;ch th^c Xrit/IJ .AKt ra *n h_nh .?A Te.t nhng Xhnng .ADng ,-ngY c-n c;ch
th^c QritelnIJ 5aA Xhi vi2t .ong ,-ng Te.t ta M+ng .ADng ,-ng. Hai c;ch th^c nG
MwA cho phyp .AKt ra th HTML.
U\ ,7{ #;ch th^c QriteIJ .AKt ra th HTML
<HTML!
<H!
<T%TL!ApAtting Te.t<"T%TL!
<"H!
<>! Thi5 te.t i5 plain.<>$! <>!
<S#$%&T LN1c1JavaScript!
<ll H% N$M TH$ >$kS$S
,ocA*ent.QriteIThi5 te.t i5 @ol,.<">!J
"" ST& H%%N1 N$M TH$ >$kS$S ll!
<"S#$%&T!
<">!
<"HTML!

U\ ,7{ Sa Xh;c nhaA cfa QriteIJ v QritelnIJ{
<&$!
<S#$%&T LN1c1JavaScript!
<ll H% N$M TH$ >$kS$S
,ocA*ent.QritelnIneYJ
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
1[
,ocA*ent.QritelnITQoYJ
,ocA*ent.QriteIThree J
,ocA*ent.QriteI...J
"" ST& H%%N1 N$M TH$ >$kS$S ll!
<"S#$%&T!
<"&$!

Ehi ,AG<t 5| Mdc X2t vAT{
\]nh 2.5W Sa Xh;c nhaA cfa QriteIJ v QritelnIJ
2.%. Giao ti6p vei ng<i TF dGng
JavaScript hO trd XhT npng cho phyp ng4i lep tr_nh t:o ra *+t h+p h+i
tho:i. N+i ,Ang cfa h+p h+i tho:i ph7 thA+c vo trang HTML co ch^a
Mo:n 5cript * Xhnng l* Tnh h=ng M2n vi<c .AKt n+i ,Ang trang.
#;ch M]n giTn M( l* vi<c Mo l 56 ,7ng c;ch th^c alertIJ. 9( 56
,7ng Mdc c;ch th^c nGY @:n phTi Ma vo *+t ,-ng te.t nh Xhi 56 ,7ng
,ocA*ent.QriteIJ v ,ocA*ent.QritelnIJ trong phbn tr3c. U\ ,7{
alertINhKn vo E M( ti2p t7cJ
Ehi Mo fle 5| ch4 cho M2n Xhi ng4i 56 ,7ng nhKn vo nt E rsi *3i
ti2p t7c thac hi<n
Thnng th4ngY c;ch th^c alertIJ Mdc 56 ,7ng trong c;c tr4ng hdp{
Thnng tin Ma v Wor* Xhnng hdp l<
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
11
E2t vAT 5aA Xhi t\nh to;n Xhnng hdp l<
Ehi ,)ch v7 cha 5n 5ng M( trAG nhep ,F li<A
TAG nhiHn c;ch th^c a"/rtIJ *3i chm cho phyp thnng @;o v3i ng4i 56 ,7ng
ch^ cha thac 5a giao ti2p v3i ng4i 56 ,7ng. JavaScript cAng cKp *+t
c;ch th^c Xh;c M( giao ti2p v3i ng4i 56 ,7ng l proAt,0. T]ng ta nh
a"/rtIJY proAptIJ t:o ra *+t h+p h+i tho:i v3i *+t ,-ng thnng @;o ,o @:n
Ma voY nhng ngoi ra no c-n cAng cKp *+t tr4ng M( nhep ,F li<A
vo. Ng4i 56 ,7ng co th( nhep vo tr4ng Mo rsi X\ch vo E. Ehi MoY
ta co th( .6 l` ,F li<A ,o ng4i 56 ,7ng vCa Ma vo.
U\ ,7{ H+p h+i tho:i gs* *+t ,-ng thnng @;oY *+t tr4ng nhep ,F li<AY
*+t nt E v *+t nt #ancel
#h]ng tr_nh nG 5| hSi tHn ng4i ,qng v 5aA Mo 5| hi(n th) *+t thnng
@;o ngun 56 ,7ng tHn *3i Ma vo. U\ ,7 Mdc lA vo fle Hello.ht*l
<HTML!
<H!
<T%TL! JavaScript .e*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
var na*eQin,oQ.pro*ptIHello khat5 GoAr na*e YJ
,ocA*ent.QriteIHello x na*e x % hope GoA liXe JavaScript J
<"S#$%&T!
<"H!
<>!
<">!
<"HTML!
Ehi ,AG<t co X2t vAT{
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh2.1W Hi(n th) c6a 5r nhep tHn
JavaScript
12
U\ ,7 nG hi(n th) ,KA nhuc nhep vo tHn v3i ph]ng th^c
XindoX.proApt. 1i; tr) M:t Mdc 5| Mdc ghi trong @i2n co tHn l nam1.
>i2n nam1 Mdc X2t hdp v3i c;c chAOi Xh;c v Mdc hi(n th) trong c6a 5r
cfa tr_nh ,AG<t nh4 ph]ng th^c docuA/nt.Xrit/.
>?G gi4 @:n Mj co ` t=ng vw c;c ch^c npng co th( M:t Mdc vAa
JavaScriptY chng ta hjG ti2p t7c t_* hi(A thH* vw ch\nh ngnn ngF
nG.
2.). fiA "gi cc "#nh vC Ah rVng
;#nhU*h rVng Ziu *+ t3
S!IJK9 th HTML H+p ch^a c;c l<nh JavaScript
SI! ThA+c t\nh
cfa th
S#$%&T
1iF M)a chm cfa fle JavaScript @Hn ngoi.
Nile nG phTi co phbn MAni .h5
;i?GjiGk thA+c t\nh
cfa th
S#$%&T
9)nh r ngnn ngF 5cript Mdc 56 ,7ng
IJavaScript hoVc U>ScriptJ
UU 1hi ch
trong
JavaScript
9;nh ,KA ghi ch *+t ,-ng trong Mo:n
5cript
U*...*U 1hi ch 9;nh ,KA ghi ch *+t XhDi trong Mo:n 5cript
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh 2.2W Hi(n th) l4i cho ng 4i nhep
JavaScript
13
trong
JavaScript
docuA/nt.Xrit/,
0
c;ch th^c
JavaScript
iAKt ra *+t .?A trHn c6a 5r hi<n th4i *+t
c;ch tAbn ta theo fle HTML co Mo:n 5cript
Mo
docuA/nt.Xrit/"
n,0
#;ch th^c
JavaScript
T]ng ta c;ch th^c ,ocA*ent.QriteIJ nhng
vi2t .ong ta .ADng ,-ng.
a"/rt,0 #;ch th^c
cfa
JavaScript
Hi(n th) *+t ,-ng thnng @;o trHn h+p h+i
tho:i
proAt,0 #;ch th^c
JavaScript
Hi(n th) *+t ,-ng thnng @;o trong h+p h+i
tho:i Msng th4i cAng cKp *+t tr4ng nhep
,F li<A M( ng4i 56 ,7ng nhep vo.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
10
!h:ng 2i6n trong JavaScript
.1. 2i6n vC phn "ogJ bi6n
THn @i2n trong JavaScript phTi @ut MbA @}ng chF haG ,KA g:ch ,3i. #;c
chF 5D Xhnng Mdc 56 ,7ng M( *= MbA tHn *+t @i2n nhng co th( 56
,7ng 5aA X` ta MbA tiHn.
&h:* vi cfa @i2n co th( l *+t trong hai Xi(A 5aA{
i!n t"%n c[cW #o th( Mdc trAG cep tC @Kt Xz M?A trong ^ng
,7ng.
Mdc Xhai @;o nh 5aA {
x = 0;
i!n c[c *LW #hm Mdc trAG cep trong ph:* vi ch]ng tr_nh *
no Xhai @;o. >i2n c7c @+ Mdc Xhai @;o trong *+t h* v3i tC
Xho; 4ar nh 5aA{
var x = 0;
>i2n ton c7c co th( 56 ,7ng tC Xho; varY tAG nhiHn MiwA nG Xhnng
thac 5a cbn thi2t.
.2. 2iu diln t7 t' trong JavaScript
TC tD l c;c gi; tr) trong ch]ng tr_nh Xhnng
thaG Mri. SaA M?G l c;c v\ ,7 vw tC tD{
8
m9h/ dog at/ Ay Tho/n
tru/
.. Ziu do "i#u
Eh;c v3i #xx haG JavaY JavaScript l ngnn ngF co t\nh M)nh Xi(A thKp.
9iwA nG co nghga l Xhnng phTi chm ra Xi(A ,F li<A Xhi Xhai @;o @i2n.
Ei(A ,F li<A Mdc ta M+ng chAG(n thnh Xi(A phq hdp Xhi cbn thi2t.
U\ ,7 fle Uaria@le.Ht*l{
<HTML!
<H!
<T%TL! atatGpe .a*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
var WrAitapple5
var nA*WrAit12
nA*WrAit nA*WrAit x 2[
var te*p There are x nA*WrAit x x .
,ocA*ent.QriteIte*pJ
<"S#$%&T!
<"H!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
!hB L
Khc 45i C6 trong
7a4a8cri,t kh9ng
c. ki+u h:ng s
C;<8= &+ bi+u
di>n mt gi tr-
kh9ng &?i n1o
JavaScript
15
<>!
<">!
<"HTML!
#;c tr_nh ,AG<t hO trd JavaScript 5| .6 l` ch\nh .;c v\ ,7 trHn v Ma ra
X2t vAT ,3i M?G{
Tr_nh ,iBn ,)ch JavaScript 5| .e* @i2n nA*WrAit co Xi(A ngAGHn Xhi
c+ng v3i 2[ v co Xi(A chAOi Xhi X2t hdp v3i @i(n te*p.
Trong JavaScriptY co @Dn Xi(A ,F li<A 5aA M?G{ 6i+u =: nguC9n^ 6i+u
G_u ph`C Lng^ 6i+u '"gic v% 6i+u chuai.
1.1.1. ZJu nguySn ,Jnt/rg/r0
SD ngAGHn co th( Mdc @i(A ,iBn theo @a c;ch{
\4 c =: 17 Ih< thep ph?nJ l co th( @i(A ,iBn 5D ngAGHn
theo c] 5D 1[Y ch ` r}ng chF 5D MbA tiHn phTi Xh;c [.
\4 c =: I Ih< @;t ph?nJ l 5D ngAGHn co th( @i(A ,iBn ,3i
,:ng @;t ph?n v3i chF 5D MbA tiHn l 5D [.
\4 c =: 1- Ih< thep l7c ph?nJ l 5D ngAGHn co th( @i(A
,iBn ,3i ,:ng thep l7c ph?n v3i hai chF 5D MbA tiHn l [..
1.1.2. Ziu d[u phpy &Vng ,q"oating Koint0
M+t literal co Xi(A ,KA phLG M+ng co 0 thnh phbn 5aA{
&hbn ngAGHn thep ph?n.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh 3.1W E2t vAT cfa .6 l` ,F li<A
JavaScript
1'
KA chK* thep ph?n I.J.
&hbn ,.
&hbn *.
9( ph?n @i<t Xi(A ,KA phLG M+ng v3i Xi(A 5D ngAGHnY phTi co \t nhKt
*+t chF 5D theo 5aA ,KA chK* haG k. U\ ,7{
8.R/
l[.R50
8.R/10
.8Rl3
1.1.. Ziu "ogic ,2oo"/an0
Ei(A logic Mdc 56 ,7ng M( chm hai MiwA Xi<n { Mng hoVc 5ai. Miwn
gi; tr) cfa Xi(A nG chm co hai gi; tr)
trAe.
Wal5e.
1.1.%. Ziu churi ,String0
M+t literal Xi(A chAOi Mdc @i(A ,iBn @=i Xhnng haG nhiwA X` ta Mdc
MVt trong cVp ,KA ... haG ... . U\ ,7{
The dog ran up the tree
The dog barked
100
9( @i(A ,iBn ,KA nh;G Xyp I JY trong chAOi 56 ,7ng I ~ JY v\ ,7{
document.write( \This text inside quotes.~ );
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
1/
2. Xy dng cc biu thc trong JavaScript
&anh nghsa vC phn "ogJ biu thc
Tep hdp c;c literalY @i2n v c;c to;n t6 nh}* M;nh gi; *+t gi; tr) no
Mo Mdc gPi l *+t @i(A th^c Ie.pre55ionJ. Uw c] @Tn co @a Xi(A @i(A
th^c trong JavaScript{
S' htc{ Nh}* M( ldng gi; gi; tr) 5D. U\ ,7 03b42b0I4.5R32
Mdc M;nh gi; @}ng 13>.1-------->.
!huri{ Nh}* M( M;nh gi; chAOi. U\ ,7 UNh1 G"g *ar61GU b
*ar6t"n1 b UcU l Nh1 G"g *ar61G H1r"ci"u='Cc.
;ogic{ Nh}* M;nh gi; gi; tr) logic. U\ ,7 t1mpV32 co th(
nhen gi; tr) 5ai. JavaScript cng hO trd @i(A th^c MiwA Xi<nY c
ph;p nh 5aA{
(condition) ? valTrue : valFalse
N2A MiwA Xi<n c"nGiti"n Mdc M;nh gi; l MngY @i(A th^c
nhen gi; tr) va'Nru1Y ngdc l:i nhen gi; tr) va'<a'=1. U\ ,7{
state = (temp>32) ? "liquid" : "solid"
Trong v\ ,7 nG @i2n 5tate Mdc g;n gi; tr) U'iduiGU n2A gi;
tr) cfa @i2n t1mp l3n h]n 32 trong tr4ng hdp ngdc l:i no
nhen gi; tr) U="'iGU.
!c ton tF ,op/rator0
To;n t6 Mdc 56 ,7ng M( thac hi<n *+t phyp to;n no Mo trHn ,F li<A.
M+t to;n t6 co th( trT l:i *+t gi; tr) Xi(A 5DY Xi(A chAOi haG Xi(A logic.
#;c to;n t6 trong JavaScript co th( Mdc nho* thnh c;c lo:i 5aA M?G{
g.n^ =" =.nh^ =: hec^ chuai^ '"gic v '"gic *itFi=1.
2.1.1. Gn
To;n t6 g;n l ,KA @}ng IJ nh}* thac hi<n vi<c g;n gi; tr) cfa to;n
h:ng @Hn phTi cho to;n h:ng @Hn tr;i. >Hn c:nh Mo JavaScript c-n hO trd
*+t 5D Xi(A to;n t6 g;n rt gPn.
Ki+u gn th9ng th@ng Ki+u gn rt gAn
. . x G . x G
. . l G . l G
. . G . G
. . " G . " G
. . G . G
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
1R
2.1.2. So Tnh
Ng4i ta 56 ,7ng to;n t6 5o 5;nh M( 5o 5;nh hai to;n h:ng v trT l:i gi;
tr) Mng haG 5ai ph7 thA+c vo X2t vAT 5o 5;nh. SaA M?G l *+t 5D
to;n t6 5o 5;nh trong JavaScript{
^^ TrT l:i gi; tr) Mng n2A to;n h:ng @Hn tr;i @}ng to;n
h:ng @Hn phTi
\^ TrT l:i gi; tr) Mng n2A to;n h:ng @Hn tr;i Xh;c to;n
h:ng @Hn phTi
Q TrT l:i gi; tr) Mng n2A to;n h:ng @Hn tr;i l3n h]n to;n
h:ng @Hn phTi
Q^ TrT l:i gi; tr) Mng n2A to;n h:ng @Hn tr;i l3n h]n hoVc
@}ng to;n h:ng @Hn phTi
O TrT l:i gi; tr) Mng n2A to;n h:ng @Hn tr;i nhS h]n
to;n h:ng @Hn phTi
O^ TrT l:i gi; tr) Mng n2A to;n h:ng @Hn tr;i nhS h]n
hoVc @}ng to;n h:ng @Hn phTi
2.1.. S' htc
>Hn c:nh c;c to;n t6 c+ng IxJY trC IlJY nh?n IJY chia I"J thnng th4ngY
JavaScript c-n hO trd c;c to;n t6 5aA M?G{
var1u var2 To;n t6 phbn ,Y trT l:i phbn , Xhi chia var1 cho
var2
P To;n t6 phf M)nhY co gi; tr) phf M)nh to;n
h:ng
varvv To;n t6 nG tpng var lHn 1 Ico th( @i(A ,iBn l
xxvarJ
varPP To;n t6 nG giT* var Mi 1 Ico th( @i(A ,iBn l
llvarJ
2.1.%. !huri
Ehi Mdc 56 ,7ng v3i chAOiY to;n t6 v Mdc coi l X2t hdp hai chAOiY
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
Ch
N!u *(n g.n gi. tr# cKa t".n t/ bb haC ff v%" mLt *i!n^ nh CT gbb^
c th+ c c.c 6!t duA 6h.c nhau ph[ thuLc v%" v# trM gu_t hi4n trOc
haC =au cKa bb haC ff vOi t9n *i!n 0'% g tr"ng trng h;p n%C2. N!u bb
,ng trOc g^ g =h ;c ting h"8c giAm trOc 6hi gi. tr# g ;c g.n ch" C.
N!u bb haC ff ,ng =au g^ gi. tr# cKa g ;c g.n ch" C trOc 6hi n ;c
ting haC giAm.
JavaScript
18
vM G[{
"abc" + "xyz" Mdc "abcxyz"
2.1.). ;ogic
JavaScript hO trd c;c to;n t6 logic 5aA M?G{
expr1 && expr2
L to;n t6 logic NY trT l:i gi; tr) Mng
n2A cT e.pr1 v e.pr2 cqng Mng.
expr1 || expr2
L to;n t6 logic $Y trT l:i gi; tr) Mng
n2A \t nhKt *+t trong hai e.pr1 v e.pr2
Mng.
! expr
L to;n t6 logic NT phf M)nh gi; tr) cfa
e.pr.
2.1.6. 2itXiT/
U3i c;c to;n t6 thao t;c trHn @itY MbA tiHn gi; tr) Mdc chAG(n ,3i ,:ng 5D
ngAGHn 32 @itY 5aA Mo lbn ldt thac hi<n c;c phyp to;n trHn tCng @it.
& To;n t6 @itQi5e NY trT l:i gi; tr) 1 n2A cT hai @it cqng l 1.
| To;n t6 @itQi5e $Y trT l:i gi; tr) 1 n2A *+t trong hai @it l 1.
^ To;n t6 @itQi5e i$Y trT l:i gi; tr) 1 n2A hai @it co gi; tr)
Xh;c nhaA
Ngoi ra c-n co *+t 5D to;n t6 ,)ch chAG(n @itQi5e. 1i; tr) Mdc
chAG(n thnh 5D ngAGHn 32 @it tr3c Xhi ,)ch chAG(n. SaA Xhi ,)ch
chAG(nY gi; tr) l:i Mdc chAG(n thnh Xi(A cfa to;n h:ng @Hn tr;i. SaA
M?G l c;c to;n t6 ,)ch chAG(n{
<< To;n t6 ,)ch tr;i. )ch chAG(n to;n h:ng tr;i 5ang tr;i *+t
5D ldng @it @}ng to;n h:ng phTi. #;c @it @) chAG(n 5ang tr;i
@) *Kt v [ thaG vo ph\a @Hn phTi. U\ ,7{ 0<<2 tr= thnh
1' I5D nh) ph?n 1[[ tr= thnh 5D nh) ph?n 1[[[[J
>> To;n t6 ,)ch phTi. )ch chAG(n to;n h:ng tr;i 5ang phTi
*+t 5D ldng @it @}ng to;n h:ng phTi. #;c @it @) chAG(n 5ang
phTi @) *Kt v ,KA cfa to;n h:ng @Hn tr;i Mdc giF ngAGHn.
U\ ,7{ 1'!!2 tr= thnh 0 I5D nh) ph?n 1[[[[ tr= thnh 5D
nh) ph?n 1[[J
>>> To;n t6 ,)ch phTi co chn [. )ch chAG(n to;n h:ng tr;i
5ang phTi *+t 5D ldng @it @}ng to;n h:ng phTi. >it ,KA Mdc
,)ch chAG(n tC tr;i IgiDng !!J. NhFng @it Mdc ,)ch 5ang
phTi @) .o; Mi. U\ ,7{ lR!!!2 tr= thnh 1[/3/01R22 I@=i
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
2[
c;c @it ,KA Mj tr= thnh *+t phbn cfa 5DJ. TKt nhiHn v3i 5D
,]ng X2t vAT cfa to;n t6 !! v !!! l giDng nhaA.
#o *+t 5D to;n t6 ,)ch chAG(n @itQi5e rt gPn{
Ki+u bitBisC th9ng
th@ng
Ki+u bitBisC rt
gAn
. . << G . << G
. . !! G . l !! G
. . !!! G . !!! G
. . G . G
. . G . G
. . G . G
2Ci t@p
2.1.1. !u hwi
HjG M;nh gi; c;c @i(A th^c 5aA{
1. a. / x 5
@. / x 5
c. / /
,. / ! 5
e. / < /
2. W. I/ < 5J / { 5
g. I/ ! 5J I5 ! 5J
h. I/ ! 5J I5 ! 5J
2.1.8. 9r3 "<i
#;c @i(A th^c Mdc M;nh gi; nh 5aA{
1. a. 12
@. /5
c. trAe
,. trAe
e. trAe
2. W. 5
g. Wal5e
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
21
h. trAe
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
22
. !c "#nh
#o th( chia c;c l<nh cfa JavaScript thnh @a nho* 5aA{
L<nh MiwA Xi<n.
L<nh lVp.
L<nh th;o t;c trHn MDi tdng.
!u "#nh &ixu 5i#n
#?A l<nh MiwA Xi<n cho phyp ch]ng tr_nh ra vAG2t M)nh v thac
hi<n cnng vi<c no MKG ,aa trHn X2t vAT cfa vAG2t M)nh. Trong
JavaScriptY c?A l<nh MiwA Xi<n l iD...CEsC
if ... else
#?A l<nh nG cho phyp @:n Xi(* tra MiwA Xi<n v thac hi<n *+t
nho* l<nh no MKG ,aa trHn X2t vAT cfa MiwA Xi<n vCa Xi(* tra.
Nho* l<nh 5aA /"T/ Xhnng @ut @A+c phTi coY no cho phyp chm ra
nho* l<nh phTi thac hi<n n2A MiwA Xi<n l 5ai.
!B php
i` , O&ixu 5i#nQ 0
y
UU!c cu "#nh vei &ixu 5i#n &Bng
z
/"T/
y
UU!c cu "#nh vei &ixu 5i#n Tai
z
ZM G[W
iW I.1[J
,ocA*ent.QriteI. @}ng 1[Y MVt l:i . @}ng [.J
. [

el5e
,ocA*ent.QriteI. Xhnng @}ng 1[.J
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
Ch
jk tD F v% G ;c =/ G[ng + t.ch c.c 6h:i ml.
JavaScript
23
!u "#nh "Np
#?A l<nh lVp th( hi<n vi<c lVp Mi lVp l:i *+t Mo:n *j cho M2n Xhi
@i(A th^c MiwA Xi<n Mdc M;nh gi; l Mng. JavaScipt cAng cKp hai
Xi(A c?A l<nh lVp{
Wor loop
Qhile loop
.1.1. {bng "Np `or
U-ng lVp Wor thi2t lep *+t @i(A th^c Xh=i MbA l initmgprY 5aA Mo lVp
*+t Mo:n *j cho M2n Xhi @i(A th^c Si5u 6i4nV Mdc M;nh gi; l
Mng. SaA Xhi X2t thc *Oi v-ng lVpY @i(A th^c incrmgpr Mdc M;nh gi;
l:i.
!B phpM
`or ,initk_pr] O&ixu 5i#nQ ] incrk_pr0y
UU!c "#nh &(c thc hi#n trong 5hi "Np
z
ZM G[W
<HTML! <H!
<T%TL!Nor loop .a*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
Wor I.1 .<1[ .xxJ
G.25
,ocA*ent.QriteI. x . xG x G x <>$!J

<"S#$%&T!
<"H!
<>!<">!
<"HTML!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
20
U\ ,7 nG lA vo fle H"rn'""p.\tm'.
U-ng lVp nG 5| thac hi<n XhDi *j l<nh cho M2n Xhi .!1[.
.1.2. Xhi"/
U-ng lVp Qhile lVp XhDi l<nh chCng no Si5u 6i4nV c-n Mdc M;nh
gi; l Mng
!B phpM
Xhi"/ ,O&ixu 5i#nQ0
y
UU!c cu "#nh thc hi#n trong 5hi "Np
z
ZM G[W
.1
Qhile I.<1[J
G.25
,ocA*ent.QriteI.x. x G x G x <>$!J
.xx

E2t vAT cfa v\ ,7 nG giDng nh v\ ,7 tr3c.


Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh 5.1W E2t vAT cfa l<nh Wor...loop
JavaScript
25
.1.. 2r/a5
#?A l<nh brCak ,qng M( X2t thc vi<c thac hi<n cfa v-ng lVp `or
haG Xhi"/. #h]ng tr_nh Mdc ti2p t7c thac hi<n t:i c?A l<nh ngaG 5aA
chO X2t thc cfa v-ng lVp.
!B php
br/a5]
9o:n *j 5aA lVp cho M2n Xhi . l3n h]n hoVc @}ng 1[[. TAG nhiHn n2A
gi; tr) . Ma vo v-ng lVp nhS h]n 5[Y v-ng lVp 5| X2t thc
H d#I
Qhile I.<1[[J

iW I.<5[J @reaX
.xx

.1.%. continu/
L<nh continuC giDng l<nh brCak nhng Xh;c = chO vi<c lVp Mdc X2t
thc v @ut MbA tC MbA v-ng lVp. 9Di v3i v-ng lVp Xhi"/Y l<nh
continuC MiwA Xhi(n vAaG l:i <MiwA Xi<n! v3i `or| l<nh continuC
MiwA Xhi(n vAaG l:i incr.pr.
!B php
continu/]
H d#W
9o:n *j 5aA tpng . tC [ lHn 5Y nhTG lHn R v ti2p t7c tpng lHn 1[
.[
Qhile I.<1[J

,ocA*ent.QriteI1i; tr) cfa . l{x .x<>$!J


iW I.5J

.R
continAe

.xx

!c cu "#nh thao tc trSn &'i t(ng


JavaScript l *+t ngnn ngF ,aa trHn MDi tdngY ,o Mo no co *+t 5D c?A
l<nh l* vi<c v3i c;c MDi tdng.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
2'
.1.). `or...in
#?A l<nh nG Mdc 56 ,7ng M( lVp tKt cT c;c thA+c t\nh Ipropertie5J
cfa *+t MDi tdng. THn @i2n co th( l *+t gi; tr) @Kt XzY chm cbn thi2t
Xhi @:n 56 ,7ng c;c thA+c t\nh trong v-ng lVp. U\ ,7 5aA 5| *inh ho:
MiwA nG
!B php
`or ,O4ariabECJ in OobjCctJ0
y
UU!c cu "#nh
z
H d#
U\ ,7 5aA 5| lKG ra tKt cT c;c thA+c t\nh cfa MDi tdng kin,oQ v in ra
tHn cfa *Oi thA+c t\nh. E2t vAT Mdc *inh ho: trHn h_nh 5.2.
<HTML!
<H!
<T%TL!Nor in .a*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
,ocA*ent.QriteIThe propertie5 oW the kin,oQ o@hect are{ <>$!J
Wor Ivar . in Qin,oQJ
,ocA*ent.QriteI x . x Y J
<"S#$%&T!
<"H!
<>!
<">!
<"HTML!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
2/
.1.6. n/X
>i2n nCB Mdc thac hi<n M( t:o ra *+t th( hi<n *3i cfa *+t MDi tdng
!B php
ob./ctvar ^ n/X ob./ctctyp/ , paraA1 }|paraA2~...
}|paraA?~0
U\ ,7 5aA t:o MDi tdng p/rTon co c;c thA+c t\nh or=tnam1^ 'a=tnam1^
ag1^ =1g. #h ` r}ng tC Xho; thiT Mdc 56 ,7ng M( chm MDi tdng trong
h* p/rTon. SaA Mo @a th( hi<n cfa MDi tdng p/rTon Mdc t:o ra @}ng
l<nh nCB
<HTML!
<H!
<T%TL!NeQ .a*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
WAnction per5onIfr5tna*eY la5tna*eY ageY 5e.J
thi5.fr5tna*efr5tna*e
thi5.la5tna*ela5tna*e
thi5.ageage
thi5.5e.5e.

per5on1 neQ per5onIThAGY aA >ichY 23Y Ne*aleJ


per5on2 neQ per5onI#hAngY NgAGen >aoY 20Y MaleJ
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh 5.2W E2t vAT cfa l<nh Wor...in
JavaScript
2R
per5on3 neQ per5onI>inhY NgAGen NhatY 20Y MaleJ
per5on0 neQ per5onIHonY 9O UpnY 20Y MaleJ
,ocA*ent.Qrite I1. xper5on1.la5tna*ex x per5on1.fr5tna*e x
<>$! J
,ocA*ent.QriteI2. xper5on2.la5tna*e x x per5on2.fr5tna*e x
<>$!J
,ocA*ent.QriteI3. x per5on3.la5tna*e x x per5on3.fr5tna*e x
<>$!J
,ocA*ent.QriteI0. x per5on0.la5tna*e x x
per5on0.fr5tna*ex<>$!J
<"S#$%&T!
<"H!
<>!
<">!
<"HTML!
.1.1. thiT
TC Xho; this Mdc 56 ,7ng M( chm MDi tdng hi<n th4i. 9Di tdng Mdc gPi
th4ng l MDi tdng hi<n th4i trong ph]ng th^c hoVc trong h*.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh 5.3W E2t vAT cfa v\ ,7 l<nh NeQ
JavaScript
28
!B php
thiT }.prop/rty~
#o th( .e* v\ ,7 cfa l<nh neQ.
.1.8. Xith
L<nh nG Mdc 56 ,7ng M( thi2t lep MDi tdng ngb* M)nh cho *+t
nho* c;c l<nhY @:n co th( 56 ,7ng c;c thA+c t\nh * Xhnng Mw cep
M2n MDi tdng.
!B php
Xith ,ob./ct0
y
UU Ttat/A/nt
z
{ dGM
U\ ,7 5aA chm ra c;ch 56 ,7ng l<nh Qith M( thi2t lep MDi tdng ngb*
M)nh l documCnt v co th( 56 ,7ng ph]ng th^c BritC * Xhnng
cbn Mw cep M2n MDi tdng ,ocA*ent
<HTML!
<H!
<T%TL!kith .a*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
Qith I,ocA*entJ
QriteIThi5 i5 an e.e*ple oW the thing5 that can @e ,one <>$!J
QriteIkith the <>!Qith<>! 5tat*ent. <&!J
QriteIThi5 can reallG 5ave 5o*e tGpingJ

<"S#$%&T!
<"H!
<>!
<">!
<"HTML!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
3[
!c hCA ,qunctionT0
JavaScript cg cho phyp 56 ,7ng c;c h*. MVc ,q Xhnng nhKt thi2t
phTi coY 5ong c;c h* co th( co *+t haG nhiwA tha* 5D trAGwn vo v
*+t gi; tr) trT vw. >=i v_ JavaScript l ngnn ngF co t\nh M)nh Xi(A
thKp nHn Xhnng cbn M)nh nghga Xi(A tha* 5D v gi; tr) trT vw cfa
h*. H* co th( l thA+c t\nh cfa *+t MDi tdngY trong tr4ng hdp nG
no Mdc .e* nh l ph]ng th^c cfa MDi tdng Mo.
L<nh Dunction Mdc 56 ,7ng M( t:o ra h* trong JavaScript.
C ,h,
`unction `n?aA/,}paraA1~|}paraA2~|...|}paraA?~0
y
UU`unction Ttat/A/nt
z
H d#I
U\ ,7 5aA *inh ho: c;ch th^c t:o ra v 56 ,7ng h* nh l thnh viHn
cfa *+t MDi tdng. H* printStat= Mdc t:o ra l ph]ng th^c cfa MDi tdng
p1r="n
<HTML! <H!
<T%TL!NAnction .a*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
WAnction per5onIfr5tna*eY la5tna*eY ageY 5e.J
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh 5.4W E2t vAT cfa v\ ,7 l<nh Qith
JavaScript
31

thi5.fr5tna*efr5tna*e
thi5.la5tna*ela5tna*e
thi5.ageage
thi5.5e.5e.
thi5.printStat5printStat5

WAnction printStat5IJ
Qith I,ocA*entJ
Qrite I Na*e { x thi5.la5tna*e x x thi5.fr5tna*e x
<>$! J
QriteIge {xthi5.agex<>$!J
QriteISe. {xthi5.5e.x<>$!J

per5on1 neQ per5onIThAGY aA >ichY 23Y Ne*aleJ


per5on2 neQ per5onI#hAngY NgAGen >aoY 20Y MaleJ
per5on3 neQ per5onI>inhY NgAGen NhatY 20Y MaleJ
per5on0 neQ per5onIHoanY o UanY 23Y MaleJ
per5on1.printStat5IJ
per5on2.printStat5IJ
per5on3.printStat5IJ
per5on0.printStat5IJ
<"S#$%&T!
<"H!
<>! <">!
<"HTML!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
32
!c hCA c= Tn
JavaScript co *+t 5D h* co 5nY gun trac ti2p vo ch\nh ngnn ngF
v Xhnng n}* trong *+t MDi tdng no{
eval
par5e%nt
par5eNloat
.1.. /va"
H* nG Mdc 56 ,7ng M( M;nh gi; c;c @i(A th^c haG l<nh. >i(A th^cY
l<nh haG c;c MDi tdng cfa thA+c t\nh MwA co th( Mdc M;nh gi;. 9Vc
@i<t h2t 5^c hFA \ch Xhi M;nh gi; c;c @i(A th^c ,o ng4i ,qng Ma vo
Ingdc l:i co th( M;nh gi; trac ti2pJ.
C ,h,I
r/turnva"^/va" I@Kt Xz @i(A th^c haG l<nh hdp l< trong JavaJ
H d#I
<HTML!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
K.K.K.K.K. LMnh NI H d# 40
h1m
\]nh 5.5W E2t vAT vi<c 56 ,7ng h*
JavaScript
33
<H!
<T%TL!val .a*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
var 5tring1[x Math.5vrtI'0J
,ocA*ent.QriteI5tringx x evalI5tringJJ
<"S#$%&T!
<"H!
<>!
<">!
<"HTML!
.1.1$. parT/Jnt
H* nG chAG(n *+t chAOi 5D thnh 5D ngAGHn v3i c] 5D l tha* 5D
th^ hai Itha* 5D nG Xhnng @ut @A+cJ. H* nG th4ng Mdc 56 ,7ng
M( chAG(n c;c 5D ngAGHn 5ang c] 5D 1[ v MT* @To r}ng c;c ,F li<A
MPc nhep ,3i ,:ng X` ta Mdc chAG(n thnh 5D tr3c Xhi t\nh to;n. Trong
tr4ng hdp ,F li<A vo Xhnng hdp l<Y h* par5e%nt 5| MPc v chAG(n
,:ng chAOi M2n v) tr\ no t_* thKG X` ta Xhnng phTi l 5D. Ngoi ra
h* nG c-n cut ,KA phLG M+ng.
C ,h,
parT/Jnt ,Ttring| }| radi_~0
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh 5.- U\ ,7 h* val
JavaScript
30
H d#I
<HTML!
<H!
<T%TL! per5e%nt .e*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
,ocA*ent.QriteI#onverting [.# he. to @a5el1[{ x
par5e%ntI[.#Y1[J x <>$!J
,ocA*ent.QriteI#onverting 11[[ @inarG to @a5el1[{ x
par5e%ntI11[[Y2J x <>$!J
<"S#$%&T!
<"H!
<>!
<">!
<"HTML!
\]nh 5.>W U\ ,7 par%nt
.1.11. parT/q"oat
H* nG giDng h* par5e%nt nhng no chAG(n chAOi thnh 5D @i(A ,iBn
,3i ,:ng ,KA phLG M+ng.
C ,h,
parT/q"oat ,Ttring0
H d#I
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
35
U\ ,7 5aA *inh ho: c;ch th^c .6 l` cfa par5eNloat v3i c;c Xi(A chAOi
Xh;c nhaA. H_nh 5.R *inh hPa X2t vAT
<HTML! <H!
<T%TL! per5eNloa, .e*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
,ocA*ent.QriteIThi5 5cript Qill 5hoQ hoQ ,irent 5tring5 are J
,ocA*ent.QriteI#onverte, A5ing par5eNloat<>$!J
,ocA*ent.QriteI13/ x par5eNloatI13/J x <>$!J
,ocA*ent.QriteI13/a@c x par5eNloatI13/a@cJ x <>$!J
,ocA*ent.QriteIa@c13/ x par5eNloatIa@c13/J x <>$!J
,ocA*ent.QriteI1a@c3/ x par5eNloatI1a@c3/J x <>$!J
<"S#$%&T!
<"H!
<>! <">!
<"HTML!
*3ng ,irray0
MVc ,q JavaScript Xhnng hO trd cKA trc ,F li<A *Tng nhng Net5cape
t:o ra ph]ng th^c cho phyp @:n ta t:o ra c;c h* Xh=i t:o *Tng nh
5aA{
WAnction %nitrraGINA*le*ent5J
thi5.length nA*le*ent5
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh 5.I W E2t vAT cfa v\ ,7 par5eNloat
JavaScript
3'
Wor Ivar .1 .<nA*le*ent5 .xxJ
thi5.[

retArn thi5

No t:o ra *+t *Tng v3i X\ch th3c .;c M)nh tr3c v Miwn c;c gi; tr) [.
#h ` r}ng thnh phbn MbA tiHn trong *Tng l M+ ,i *Tng v Xhnng
Mdc 56 ,7ng.
9( t:o ra *+t *TngY Xhai @;o nh 5aA{
*GrraG neQ %nitrraG I1[J
No t:o ra c;c thnh phbn tC *GrraG1 M2n *GrraG1[ v3i gi; tr) l
[. 1i; tr) c;c thnh phbn trong *Tng co th( Mdc thaG Mri nh 5aA{
*GrraG1 Ngh< n
*GrraG2 Lo
SaA M?G l v\ ,7 MbG Mf{
<HTML! <H!
<T%TL! rraG .e*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
WAnction %nitrraGInA*le*ent5J
thi5.length nA*le*ent5
Wor Ivar .1 .<nA*le*ent5 .xxJ
thi5.[

retArn thi5

*GrraG neQ %nitrraGI1[J


*GrraG1 Ngh< n
*GrraG2 H N+i
,ocA*ent.QriteI*GrraG1 x <>$!J
,ocA*ent.QriteI*GrraG2 x <>$!J
<"S#$%&T!
<"H!
<>! <">!
<"HTML!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
3/
\]nh 5.3W U\ ,7 *Tng
S 5i#n
JavaScript l ngnn ngF M)nh h3ng 5a Xi<nY nghga l 5| phTn ^ng tr3c
c;c 5a Xi<n .;c M)nh tr3c nh X\ch chA+t haG tTi *+t vpn @Tn. M+t 5a
Xi<n co th( g?G ra vi<c thac hi<n *+t Mo:n *j l<nh IgPi l c;c ch]ng
tri_nh .6 l` 5a Xi<nJ gip cho ch]ng tr_nh co th( phTn ^ng *+t c;ch
th\ch hdp.
Ch'ng trMnh x" E sO kiPn (Q4Cnt handECr*I M+t
Mo:n *j haG *+t h* Mdc thac hi<n M( phTn ^ng tr3c *+t 5a Xi<n gPi
l ch]ng tr_nh .6 l` 5a Xi<n. #h]ng tr_nh .6 l` 5a Xi<n Mdc .;c M)nh
l *+t thA+c t\nh cfa *+t th HTML{
<tagNa*e eventHan,ler JavaScript #o,e or NAnction!
U\ ,7 5aA gPi h* ChCckRgC(* *Oi Xhi gi; tr) cfa tr4ng vpn @Tn thaG
Mri{
<%N&cT T&TiT NM1 on#hange#hecXgeIJ!
9o:n *j cfa ch]ng tr_nh .6 l` 5a Xi<n Xhnng l *+t h* no l c;c
l<nh cfa JavaScript c;ch nhaA @}ng ,KA chK* phLG. TAG nhiHn cho *7c
M\ch vi2t thnh c;c *o,Ale nHn vi2t ,3i ,:ng c;c h*.
M+t 5D ch]ng tr_nh .6 l` 5a Xi<n trong JavaScript{
on>lAr iTG ra Xhi inpAt WocA5 @) .o; tC thnh phbn
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
3R
Wor*
on#licX
iTG ra Xhi ng4i ,qng X\ch vo c;c thnh phbn
haG liHn X2t cfa Wor*.
on#hange
iTG ra Xhi gi; tr) cfa thnh phbn Mdc chPn
thaG Mri
onNocA5
iTG ra Xhi thnh phbn cfa Wor* Mdc
WocA5Il* nri lHnJ.
onLoa,
iTG ra trang ke@ Mdc tTi.
onMoA5ever
iTG ra Xhi ,i chAG(n chA+t vAa X2t nDi haG
anchor.
onSelect
iTG ra Xhi ng4i 56 ,7ng laa chPn *+t tr4ng
nhep ,F li<A trHn Wor*.
onSA@*it
iTG ra Xhi ng4i ,qng Ma ra *+t Wor*.
oncnLoa,
iTG ra Xhi ng4i ,qng Mong *+t trang
SaA M?G l @Tng c;c ch]ng tr_nh .6 l` 5a Xi<n co 5n cfa *+t 5D
MDi tdng. #;c MDi tdng nG 5| Mdc tr_nh @G X h]n trong phbn 5aA.
9Di tdng #h]ng tr_nh .6 l` 5a Xi<n co 5n
Selection li5t on>lArY on#hangeY onNocA5
Te.t on>lArY on#hangeY onNocA5Y onSelect
Te.tarea on>lArY on#hangeY onNocA5Y onSelect
>Atton on#licX
#hecX@o. on#licX
$a,io @Atton on#licX
HGperte.t linX on#licXY onMoA5everY onMoA5eAt
#licXa@le %*age*ap
area
onMoA5everY onMoA5eAt
$e5et @Atton on#licX
SA@*it @Atton on#licX
ocA*ent onLoa,Y oncnloa,Y onrror
kin,oQ onLoa,Y oncnloa,Y on>lArY onNocA5
Nra*e5et5 on>lArY onNocA5
Nor* onSA@*itY on$e5et
%*age onLoa,Y onrrorY on@ort

Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
38
U\ ,7 5aA l *+t Mo:n *j 5cript M]n giTn cfa ch]ng tr_nh .6 l` 5a
Xi<n thL* M)nh gi; tr) Ma vo trong tr4ng te.t. TAri cfa ng4i 56 ,7ng
Mdc nhep vo trong tr4ng nG v ch]ng tr_nh .6 l` 5a Xi<n 5| thL*
M)nh t\nh hdp l< cfa ,F li<A Ma vo. N2A Xhnng hdp l< 5| .AKt hi<n
*+t thnng @;o GHA cbA nhep l:i. #h]ng tr_nh .6 l` 5a Xi<n Mdc gPi *Oi
Xhi tr4ng 1 @) thaG Mri v WocA5 chAG(n 5ang tr4ng Xh;c. H_nh
5.1[ *inh ho: X2t vAT cfa v\ ,7 nG
<HTML!
<H!
<T%TL! n vent Han,ler .e*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
WAnction #hecXgeIWor*J
iW I IWor*.1.valAe<[JIWor*.1.valAe!12[J J

alertITAri nhep vo Xhnng hdp l< M4i @:n nhep l:iJ


Wor*.1.valAe[

<"S#$%&T!
<"H!
<>!
<N$M NM&H%c%cT$!
Nhep vo tHn cfa @:n{<>$!
THn <%N&cT T&TiT NMTN MiLN1TH1[ S%1[!<>$!
9<* <%N&cT T&TiT NMM MiLN1TH15 S%1[!<>$!
HP <%N&cT T&TiT NMH MiLN1TH1[ S%1[!<>$!
ge <%N&cT T&TiT NM1 MiLN1TH3 S%2
on#hange#hecXgeI&H%c%cT$J!<>$!
<&!
>:n th\ch *qa no nhKt{<>$!
Mqa .A?n<%N&cT T&$% NMMc ULcMAa .Aan!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
0[
Mqa h:<%N&cT T&$% NMMc ULcMAa ha!
Mqa thA<%N&cT T&$% NMMc ULcMAa thA!
Mqa Mnng<%N&cT T&$% NMMc ULcMAa ,ong!
<&!
HjG chPn nhFng ho:t M+ng ngoi tr4i * @:n GHA th\ch{<>$!
9i @+<%N&cT T&#H#E>i NMHTN1 ULci @o!
Trdt tAG2t<%N&cT T&#H#E>i NMHTN1
ULcTrAot tAGet!
Th( thao ,3i n3c<%N&cT T&#H#E>i NMHTN1
ULcAoi nAoc!
9:p .e<%N&cT T&#H#E>i NMHTN1 ULcap
.e!
<&!
<%N&cT T&Sc>M%T!
<%N&cT T&$ST!
<"N$M!
<">!
<"HTML!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
01
\]nh 5.17W Minh ho: cho v\ ,7 vent Han,ler
2Ci t@p
.1.12. !u hwi
1. Ui2t *+t Mo:n l<nh JavaScript 56 ,7ng c;ch th^c confr*IJ v c?A
l<nh iW...then M( thac hi<n{
HSi ng4i 56 ,7ng co *ADn nhen Mdc *+t l4i cho Xhnng
N2A co th_ hi<n Tnh Qellco*e.hpg v *+t l4i cho.
N2A Xhnng th_ vi2t ra *+t l4i thnng @;o
2. Ui2t *+t Mo:n l<nh JavaScript M( thac hi<n{
HSi ng4i 56 ,7ng{ 1[x1[ @}ng @ao nhiHA
N2A Mng th_ hSi ti2p{ #o *ADn trT l4i c?A th^ hai Xhnng
N2A *ADn th_ hSi{ 1[1[ @}ng @ao nhiHA
9;nh gi; X2t vAT @}ng @i(A th^c logic 5aA Mo vi2t ra *n
h_nh{
9ng{ #$$#T Sai{ %N#$$#T
1di `{ S6 ,7ng @i2n ton c7c lA X2t vAT Mng M( 5o 5;nh v3i X2t
vfa Ma vo.
3. #?A l<nh no trong c;c c?A 5aA M?G 56 ,7ng 5ai th 5a Xi<n
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
02
a. <> on#licX,oSo*ethingIJ!
@. <%N&cT T&te.t onNocA5,oSo*ethingIJ!
c. <%N&cT T&te.tarea onLoa,,oSo*ethingIJ!
,. <> oncnloa,,oSo*ethingIJ!
e. <N$M onLoa,,oSo*ethingIJ!
W. <N$M onSA@*it,oSo*ethingIJ!
0. 9iwA g_ .TG ra Xhi thac hi<n 5cript 5aA{
<HTML!
<H!
<T%TL!.erci5e 5.0<"T%TL!
<S#$%&T LN1c1JavaScript!
<ll H% N$M TH$ >$kS$S
var na*e
WAnction Qelco*eIJ
na*e pro*ptIkelco*e to *G page khat5 oAr
Na*eYna*eJ

WAnction WareQellIJ
alertI1oo,@Ge x na*e x . ThanX5 Wor vi5iting *G page.J

"" ST& H%%N1 N$M TH$ >$kS$S ll!
<"S#$%&T!
<"H!
<> onLoa,Qelco*eIJ oncnloa,WareQellIJ!
Thi5 i5 *G page
<">!
<"HTML!
5. S6 ,7ng v-ng lVp Qhile M( *n phSng c;c v-ng lVp Wor 5aA{
a.
Wor Ih 0 h ! [ h llJ
,ocA*ent.QritelnIh x <>$!J

@.
Wor IX 1 X < 88 X X2J
X X"1.5

c.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
03
Wor InA* [ nA* < 1[ nA* xxJ
iW InA* RJ
@reaX

.1.1. 9r3 "<i
1. S6 ,7ng c;ch th^c confr*IJ v cKA trc iW...then{
<HTML!
<H!
<T%TL!.eci5e 5.1<"T%TL!
<H!
<>!
<&!
<S#$%&T LN1c1JavaScript!
var conWconfr*I#licX E to 5ee a Qellco*e *e55ageJ
iW IconWJ
,ocA*ent.QriteI<%M1 S$#Qellco*e.hpg!J
,ocA*ent.QriteI<>$!kellco*e GoA co*e to #S5
cla55J

el5e
,ocA*ent.QriteIkhat a pitG oA have hA5t clicX #ancel
@AttonJ
<"S#$%&T!
<"&!
<">!
<"HTML!
2. Thac hi<n hSi ng4i 56 ,7ng{
<HTML!
<H!
<T%TL!.erci5e 3.3<"T%TL!
<S#$%&T LN1c1JavaScript!
<ll H% N$M TH$ >$kS$S
"" N%N U$%>LS N$ $ST N S#$%&T
var vAe5tionkhat i5 1[x1[
var an5Qer2[
var correct#$$#T
var incorrect%N#$$#T
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
00
"" SE TH ZcST%N
var re5pon5e pro*ptIvAe5tionY[J
"" ch#E TH NSk$ TH N%$ST T%M
iW Ire5pon5e an5QerJ
"" TH NSk$ kS k$N1{ NN$ S#N chnc
iW Iconfr*Ikrong &re55 E Wor a 5econ, chance.JJ
re5pon5e pro*ptIvAe5tionY[J
el5e
"" TH NSk$ kS $%1HT{ NN$ S#N ZcST%N
iW Iconfr*I#orrect &re55 E Wor a 5econ, vAe5tion.JJ
vAe5tion khat i5 1[1[
an5Qer 1[[
re5pon5e pro*pt IvAe5tionY[J


"" ch#E TH NSk$
var oAtpAt Ire5pon5e an5QerJ correct { incorrect
"" ST& H%%N1 N$M TH$ >$kS$S ll!
<"S#$%&T!
<"H!
<>!
<S#$%&T LN1c1JavaScript!
<ll H% N$M TH$ >$kS$S
"" cT&cT $ScLT
,ocA*ent.QriteIoAtpAtJ
"" ST& H%%N1 N$M TH$ >$kS$S ll!
<"S#$%&T!
<">!
<"HTML!
3. #;c c?A 5ai{ aY cY e. #;c c?A Mng{ @Y ,Y W
0. Ehi ch]ng tr_nh Mdc ch:G Iloa,JY h* Qellco*e 5| thac hi<n
hSi tHn ng4i 56 ,7ngY lA tHn Mo vo @i2n ton c7c na*e. Ehi ng4i
56 ,7ng 5ang *+t M)a chm c$L Xh;cY h* WareQellIJ 5| thac hi<n
g6i *+t l4i cT* ]n t3i ng4i 56 ,7ng.
5. S6 ,7ng v-ng lVp Qhile nh 5aA{
a.
h 5
Qhile Illh ! [J
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
05
,ocA*ent.QritelnIh x <>$!J

@.
X 1
Qhile IX < 88J
X X 2 " 1.5

c.
nA* [
Qhile InA* < 1[J
iW InA*xx RJ
@reaX

Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
0'
%. !c &'i t(ng trong JavaScript
Nh Mj noi JavaScript l ngnn ngF lep tr_nh dOa trSn &i tTngY nhng
Xhnng h5ng &i tTng @=i v_ no Xhnng hO trd c;c l3p cng nh t\nh thCa
X2. &hbn nG noi vw c;c MDi tdng trong JavaScript v h_nh '.1 chm ra
5] Ms ph?n cKp c;c MDi tdng.
Trong 5] Ms ph?n cKp c;c MDi tdng cfa JavaScriptY c;c MDi tdng con
thac 5a l c;c thA+c t\nh cfa c;c MDi tdng @D *. Trong v\ ,7 vw chl
]ng tr_nh .6 l` 5a Xi<n tr3c M?G Wor* tHn &H%c%cT$l thA+c
t\nh cfa MDi tdng G"cum1nt v tr4ng t1gt Bpm l thA+c t\nh cfa Wor*
&H%c%cT$. 9( tha* chi2A M2n gi; tr) cfa 1Y @:n phTi 56
,7ng{
,ocA*ent.&H%c%cT$.1.valAe
#;c MDi tdng co thA+c t\nh Ipropertie5JY ph]ng th^c I*etho,5JY v c;c
ch]ng tr_nh .6 l` 5a Xi<n Ievent han,ler5J gun v3i chng. U\ ,7 MDi tl
dng G"cum1nt co thA+c t\nh title phTn ;nh n+i ,Ang cfa th SN)NLmV
cfa G"cum1nt. >Hn c:nh Mo @:n thKG ph]ng th^c G"cum1nt.Frit1 Mdc
56 ,7ng trong nhiwA v\ ,7 M( Ma vpn @Tn X2t vAT ra G"cum1nt.
9Di tdng cng co th( co c;c ch]ng tr_nh .6 l` 5a Xi<n. U\ ,7 MDi tdng
'in6 co hai ch]ng tr_nh .6 l` 5a Xi<n l "nC'ic6 v "n@"u=1qv1r.
"nC'ic6 Mdc gPi Xhi co MDi tdng linX Mdc X\chY "n@"u=1qv1r Mdc gPi Xhi
con trS chA+t ,i chAG(n vAa linX.
Ehi @:n tTi *+t ,ocA*ent .ADng NavigatorY no 5| t:o ra *+t 5D MDi tdng
cqng v3i nhFng gi; tr) c;c thA+c t\nh cfa chng ,aa trHn fle HTML cfa
,ocA*ent Mo v *+t vi thnng tin cbn thi2t Xh;c. NhFng MDi tdng nG
tsn t:i *+t c;ch co cKp @ec v phTn ;nh ch\nh cKA trc cfa fle HTML
Mo.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
0/
S] Ms 5aA 5| *inh ho: 5a ph?n cKp cfa c;c MDi tdng nG
Trong 5] Ms ph?n cKp nGY c;c MDi tdng con ch\nh l c;c thA+c t\nh
cfa *+t MDi tdng cha. U\ ,7 nh *+t Wor* tHn l Wor*1 ch\nh l *+t MDi
tdng con cfa MDi tdng ,ocA*ent v Mdc gPi t3i l ,ocA*ent.Wor*1
TKt cT c;c trang MwA co c;c MDi tdng 5aA M?G{
navigator{ co c;c thA+c t\nh tHn v phiHn @Tn cfa Navigator
Mang Mdc 56 ,7ngY ,qng cho @)@m tCp1 Mdc hO trd @=i client
v plAglin Mdc ci MVt trHn client.
Qin,oQ{ l MDi tdng = *^c cao nhKtY co c;c thA+c t\nh thac
hi<n ;p ,7ng vo ton @+ c6a 5r.
,ocA*ent{ ch^a c;c thA+c t\nh ,aa trHn n+i ,Ang cfa
,ocA*ent nh tHnY *A nwnY c;c X2t nDi v c;c Wor*5.
location{ co c;c thA+c t\nh ,aa trHn M)a chm c$L hi<n th4i
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
kin,oQ Te.tArea
Te.t
Nilecploa,
&a55Qor,
Hi,,en
SA@*it
$e5et
$a,io
#hecX@o.
>Atton
Select
&lAgin
Mi*e TGpe
Nra*e
,ocA*ent
Location
Hi5torG
LaGer
LinX
%*age
rea
nchor
pplet
&lAgin
Nor*
navigator
ption
\]nh -.1W S] Ms 1 l &h?n cKp MDi t dng
Navigator
JavaScript
0R
hi5torG{ #h^a c;c thA+c t\nh vw c;c c$L * client GHA cbA
tr3c Mo.
SaA M?G 5| *n tT c;c thA+c t\nhY ph]ng th^c cng nh c;c ch]ng
tr_nh .6 l` 5a Xi<n cho tCng MDi tdng trong JavaScript.
f'i t(ng navigator
9Di tdng nG Mdc 56 ,7ng M( M:t Mdc c;c thnng tin vw tr_nh ,AG<t nh
5D phiHn @Tn. 9Di tdng nG Xhnng co ph]ng th^c haG ch]ng tr_nh .6 l`
5a Xi<n.
Cc thuc tnh
appC"G1Nam1 i;c M)nh tHn *j n+i t:i cfa tr_nh ,AG<t
Itla5J.
BppNam1 i;c M)nh tHn tr_nh ,AG<t.
BppZ1r=i"n i;c M)nh thnng tin vw phiHn @Tn cfa MDi tl
dng navigator.
u=1rBg1nt

i;c M)nh hea,er cfa A5er l agent.
H d#
U\ ,7 5aA 5| hi(n th) c;c thA+c t\nh cfa MDi tdng navigator
<HTML!
<H!
<T%TL! Navigator @hect .e*ple <"T%TL!
<S#$%&T LN1c1 JavaScript!
,ocA*ent.QriteIapp#o,eNa*e xnavigator.app#o,eNa*e x
<>$!J
,ocA*ent.QriteIappNa*e xnavigator.appNa*e x <>$!J
,ocA*ent.QriteIappUer5ion xnavigator.appUer5ion x <>$!J
,ocA*ent.QriteIA5ergent xnavigator.A5ergent x <>$!J
<"S#$%&T!
<"H!
<>!
<">!
<"HTML!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
08
f'i t(ng XindoX
9Di tdng Qin,oQ nh Mj noi = trHn l MDi tdng = *^c cao nhKt. #;c MDi tl
dng ,ocA*entY Wra*eY v) tr\ MwA l thA+c t\nh cfa MDi tdng Qin,oQ.
%.1.1. !c thuVc tnh
,eWaAltStatA5 l Thnng @;o ngb* M)nh hi(n th) lHn trHn thanh
tr:ng th;i cfa c6a 5r
Nra*e5 l MTng .;c M)nh tKt cT c;c Wra*e trong c6a 5r.
Length l SD ldng c;c Wra*e trong c6a 5r cha *.
Na*e l THn cfa c6a 5r hi<n th4i.
&arent l 9Di tdng c6a 5r cha *
SelW l #6a 5r hi<n th4i.
StatA5 l 9dc 56 ,7ng cho thnng @;o t:* th4i hi(n th) lHn trHn
thanh th:ng th;i c6a 5r. 9a]c 56 ,7ng M( lKG haG MVt l:i
thnng @;o tr:ng th;i v ghi M lHn ,eWaAltStatA5.
Top l #6a 5r = trHn cqng.
kin,oQ l #6a 5r hi<n th4i.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
\]nh -.2W Minh ho: cho MDi tdng Navigator
JavaScript
5[
%.1.2. !c ph:ng thc
alert I*e55ageJ lHi(n th) h+p h+i tho:i v3i chAOi *e55age
v nt E.
clearTi*eoAtIti*eoAt%J lioa ti*eoAt ,o SetTi*eoAt MVt.
SetTi*eoAt trT l:i ti*eoAt%
Qin,oQ$eWerence.clo5e l9ong c6a 5r Qin,oQ$eWerence.
confr*I*e55ageJ lHi(n th) h+p h+i tho:i v3i chAOi
*e55ageY nt E v nt #ancel. TrT l:i gi; tr) TrAe cho E v
Nal5e cho #ancel.
Qin,oQUar Qin,oQ. openIc$LY Qin,oQNa*eY
Qin,oQNeatAre5 J l M= c6a 5r *3i.
pro*pt I*e55age Y,eWaAlt%npAtJ l M= *+t h+p h+i tho:i
M( nhen ,F li<A vo tr4ng te.t.
Ti*eoAt% 5etTi*eoAtIe.pre55ionY*5ecJ l 9;nh gi; @i(A th^c
e.pre5ion 5aA th4i gian *5ec.
{ dG{ S6 ,7ng tHn c6a 5r Xhi gPi t3i no nh l M\ch cfa *+t Wor*
5A@*it hoVc trong *+t Hiperte.t linX IthA+c t\nh T$1T cfa th
N$M v J.
Trong v\ ,7 t:o ra *+t t3i c6a 5r th^ haiY nh nt th^ nhKt M( *= *+t
c6a 5r rOngY 5aA Mo *+t liHn X2t 5| tTi fle ,oc2.ht*l .ADng c6a 5r *3i
Mo rsi *+t nt Xh;c ,qng M( Mong cfa 5r th^ hai l:iY v\ ,7 nG la vo
fle FinG"F.htm'{
<HTML!
<H!
<T%TL!Nra*e .a*ple <"T%TL!
<"H!
<>!
<N$M!
<%N&cT T&@Atton ULcpen Secon, kin,oQ
on#licX*5gkin,oQQin,oQ.openIYQin,oQ2Yre5ia@lenoYQ
i,th2[[Yheight2[[J!
<&!
< H$N,oc2.ht*l T$1TQin,oQ2!
Loa, a fle into Qin,oQ2 <"!
<"&!
<%N&cT T&@Atton ULc#lo5e Secon, kin,oQ
on#licX*5gkin,oQ.clo5eIJ!
<"N$M!
<">!
<"HTML!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
51
\]nh -.3W Minh ho: cho MDi tdng c6a 5r
%.1.. !c ch:ng trnh _F "L T 5i#n
onLoa, l iAKt hi<n Xhi c6a 5r X2t thc vi<c tTi.
oncnLoa, l iAKt hi<n Xhi c6a 5r Mdc lo:i @S.
f'i t(ng "ocation
#;c thA+c t\nh cfa MDi tdng location ,AG tr_ c;c thnng tin vw c$L cfa
,ocA*ent hi<n th4i. 9Di tdng nG hon ton Xhnng co c;c ph]ng th^c
v ch]ng tr_nh .6 l` 5a Xi<n Mi X*. ZM G[{
http{"" QQQ.a@c.co*" chap1"page2.ht*ltopic3
Cc thuc tnh
ha5h l THn anchor cfa v) tr\ hi<n th4i Iv\ ,7 topic3J.
Ho5t l &hbn ho5tna*e{port cfa c$L Iv\ ,7 QQQ.a@c.co* J.
#h ` r}ng M?G th4ng l crng ngb* M)nh v \t Xhi Mdc chm
ra.
Ho5tna*e l THn cfa ho5t v ,o*ain Iv\ ,7 QQQ.a@c.co* J.
hreW l Ton @+ c$L cho ,ocA*ent hi<n t:i.
&athna*e l &hbn M4ng ,tn cfa c$L Iv\ ,7
"chap1"page2.ht*lJ.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
52
&ort l #rng trAGwn thnng Mdc 56 ,7ng cho *;G t\nh ho5tY thl
4ng l crng ngb* M)nh.
&rotocol l 1iao th^c Mdc 56 ,7ng Icqng v3i ,KA hai chK*J Iv\ ,7
http{J.
Search l #?A trAG vKn t_* Xi2* co th( = cADi c$L cho c;c
5cript #1%.
f'i t(ng `raA/
M+t c6a 5D co th( co *+t vi Wra*e. #;c Wra*e co th( cA+n *+t
c;ch M+c lep v3i nhaA v *Oi Wra*e co c$L riHng. Wra*e Xhnng co c;c
ch]ng tr_nh .6 l` 5a Xi<n. Sa Xi<n onLoa, v oncnLoa, l cfa MDi tl
dng Qin,oQ.
%.1.%. !c thuVc tnh
Wra*e5 l MTng tKt cT c;c Wra*e trong c6a 5r.
Na*e l ThA+c t\nh NM cfa th <N$M!
Length l SD ldng c;c Wra*e con trong *+t Wra*e.
&arent l #6a 5r haG Wra*e ch^a nho* Wra*e hi<n th4i.
5elW l Wra*e hi<n th4i.
kin,oQ l Wra*e hi<n th4i.
%.1.). !c ph:ng thc
clearTi*eoAt Iti*eoAt%J l io; ti*eoAt ,o 5etTi*eoAt lep.
SetTi*eoAt trT l:i ti*eoAt%.
Ti*eoAt% 5etTi*eoAt Ie.pre55ionY*5ecJ l 9;nh gi;
e.pre55ion 5aA Xhi h2t th4i gian *5ec.
%.1.6. SF dGng qraA/
%.1.6.1. a0 9go AVt `raA/ ,cr/at/0
9( t:o *+t Wra*eY ta 56 ,7ng th qIi*kSk9. M7c M\ch cfa th nG l
M)nh nghga *+t tep c;c Wra*e trong *+t trang.
H d#KW t:o Wra*e I h_nh 1/J
<HTML!
<H!
<T%TL!Nra*e .a*ple <"T%TL!
<N$MST $kS8[Y1[!
<N$MST #LS3[Y/[!
<N$M S$##T1$.HTM NMLi5tNra*e!
<N$M S$#T%TLS.HTM NMcontentNra*e!
<"N$MST !
<N$M S$#NU%1T$.HTM NMnavigateNra*e!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
53
<"N$MST !
<"H!
<>! <">!
<"HTML!
S] Ms 5aA hi(n th) cKA trc cfa c;c Wra*e{ #T 3 Wra*e MwA trHn cqng
*+t c6a 5r chaY *Vc ,q 2 trong 5D c;c Wra*e Mo n}* trong *+t
Wra*e5et Xh;c.
>:n co th( gPi t3i nhFng Wra*e tr3c Mo @}ng c;ch 56 ,7ng thA+c t\nh
`raA/T nh 5aA{
li5tNra*e ch\nh l top.Wra*e5[
contentNra*e ch\nh l top.Wra*e51
navigatorNra*e ch\nh l top.Wra*e52
\]nh -.4W E2t vAT vi<c t:o Wra*e trong
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
Top
li5tNra*e
IcategorG.ht*lJ
contentNra*e
Ititle5.ht*lJ
navigatorNra*e
Inavigator.ht*lJ
JavaScript
50
H d# UM #ng giDng nh *+t 5a laa chPnY @:n co th( t:o ra *+t c6a 5r
giDng nh v\ ,7 tr3c nhng trong *Oi Mmnh cfa hai Wra*e l:i co *+t c6a
5r cha riHng tC navigat/qraA/. M^c Wra*e5et cao nhKt co th( Mdc
M)nh nghga nh 5aA{
<HTML!
<H!
<T%TL!Nra*e .a*ple <"T%TL!
<N$MST $kS8[Y1[!
<N$M S$#*A5Xe13.HTML NMApperNra*e!
<N$M S$#NU%1T$.HTM NMnavigateNra*e!
<"N$MST !
<"H!
<>!
<">!
<"HTML!
Trong fle *A5Xe13.ht*l l:i ti2p t7c MVt *+t Wra*e5et{
<HTML!
<H!
<T%TL!Nra*e .a*ple <"T%TL!
<N$MST #LS3[Y/[!
<N$M S$##T1$.HTM NMLi5tNra*e!
<N$M S$#T%TLS.HTM NMcontentNra*e!
<"N$MST !
<"H!
<>!
<">!
<"HTML!
Ehi Mo X2t vAT hi(n th) cfa v\ ,7 2 giDng v\ ,7 1 nhng 5a ph?n cKp
cfa c;c Wra*e5 l:i Xh;c hn{
>:n co th( gPi t3i c;c Wra*e trHn @}ng c;ch 56 ,7ng thA+c t\nh *Tng
`raA/T nh 5aA{
upp/rqraA/ ch\nh l top.`raA/T}$~
navigatorqraA/ ch\nh l top.`raA/T}1~
"iTtqraA/ ch\nh l upp/rqraA/.`raA/T}$~
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
top
ApperNra*e
I*A5Xe13.ht*lJ
navigatorNra*e
Inavigator.ht*lJ
li5tNra*e IcategorG.ht*lJ
contentNra*e Ititle5.ht*lJ
JavaScript
55
hoVc top.`raA/T}$~.`raA/T}$~
cont/ntqraA/ ch\nh l upp/rqraA/.`raA/T}1~
hoVc top.`raA/T}$~.`raA/T}1~
%.1.6.2. b0 !@p nh@t AVt `raA/ ,updat/0
>:n co th( cep nhet n+i ,Ang cfa *+t Wra*e @}ng c;ch 56 ,7ng thA+c
t\nh "ocation M( MVt M)a chm c$L v phTi M)nh chm r v) tr\ cfa
Wra*e trong cKA trc.
Trong v\ ,7 trHnY n2A @:n thH* *+t ,-ng 5aA vo navigatorqraA/{
<%N&cT T&@Atton ULcTitle5 onlG
on#licXtop.Wra*e5[.locationarti5t.ht*l!
th_ Xhi nt 9it"/T on"y Mdc nhKnY fle artiTt.htA" 5| Mdc tTi vo
upp/rqraA/Y v hai Wra*e "iTtqraA/| cont/ntqraA/ 5| @) Mong l:i
nh chng cha @ao gi4 tsn t:i.
f'i t(ng docuA/nt
9Di tdng nG ch^a c;c thnng tin vw ,ocA*ent hi<n th4i v cAng cKp c;c
ph]ng th^c M( Ma thnng tin ra *n h_nh. 9Di tdng ,ocA*ent Mdc t:o
ra @}ng cVp th <>! v <">!. M+t 5D c;c thA+c t\nh gun v3i
th <>!.
#;c MDi tdng anchorY Wor*5Y hi5torGY linX5 l thA+c t\nh cfa MDi tdng
,ocA*ent. Ehnng co c;c ch]ng tr_nh .6 l` 5a Xi<n cho c;c Wra*e. Sa
Xi<n onLoa, v oncnLoa, l cho MDi tdng Qin,oQ.
%.1.1. !c thuVc tnh
alinX#olor l 1iDng nh thA+c t\nh L%NE.
anchor l MTng tKt cT c;c anchor trong ,ocA*ent.
@g#olor l 1iDng thA+c t\nh >1#L$.
cooXie l S6 ,7ng M( .;c M)nh cooXie.
Wg#olor l 1iDng thA+c t\nh TiT.
Wor*5 l MTng tKt cT c;c Wor* trong ,ocA*ent.
la5tMo,ife, l NgG cADi cqng vpn @Tn Mdc 56a.
linX#olor l 1iDng thA+c t\nh L%NE.
linX5 l MTng tKt cT c;c linX trong ,ocA*ent.
location l c$L MbG Mf cfa vpn @Tn.
reWerrer l c$L cfa vpn @Tn gPi no.
title l N+i ,Ang cfa th <T%TL!.
vlinX#olor l 1iDng thA+c t\nh UL%NE.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
5'
%.1.8. !c ph:ng thc
,ocA*ent.clear l io; ,ocA*ent hi<n th4i.
,ocA*ent.clo5e l 9ong ,-ng ,F li<A vo v Ma ton @+ ,F
li<A trong @+ M<* ra *n h_nh.
,ocA*ent.open I*ineTGpeJ l M= *+t 5trea* M( thA thep
,F li<A vo cfa c;c phQong th^c Qrite v Qriteln.
,ocA*ent.QriteIe.pre55ion1 Ye.pre55ion2...Ye.pre55ionNJ l
Ui2t @i(A th^c HTML lHn vpn @Tn trnng *+t c6a 5r .;c M)nh.
,ocA*ent.Qriteln Ie.pre55ion1 Ye.pre55ion2 ...
Ye.pre55ionN J l 1iDng ph]ng th^c trHn nhng Xhi h2t *Oi
@i(A th^c l:i .ADng ,-ng.
f'i t(ng anchorT
anchor l *+t Mo:n vpn @Tn trong ,ocA*ent co th( ,qng l* M\ch cho
*+t 5iHA liHn X2t. No Mdc .;c M)nh @}ng cVp th <! v <"!. 9Di tdng
anchor Xhnng co thA+c t\nhY ph]ng th^c cng nh ch]ng tr_nh .6 l` 5a
Xi<n. MTng anchor tha* chi2A M2n *Oi anchor co tHn trong ,ocA*ent.
MOi anchor Mdc tha* chi2A @}ng c;ch{
,ocA*ent.anchor5 in,e.
MTng anchor co *+t thA+c t\nh ,AG nhKt l length .;c M)nh 5D l dng
c;c anchor trong ,ocA*entY no co th( Mdc .;c M)nh nh 5aA{
,ocA*ent.anchor5.length.
f'i t(ng `orAT
#;c Wor* Mdc t:o ra nh4 cVp th <N$M! v <"N$M!. &hbn l3n
c;c thA+c t\nh cfa MDi tdng Wor* phTn ;nh c;c thA+c t\nh cfa th
<N$M!. #o *+t vi phbn t6 Iele*ent5J l thA+c t\nh cfa MDi tdng
Wor*5{
@Atton
checX@o.
hi,,en
pa55Qor,
ra,io
re5et
5elect
5A@*it
te.t
te.tarea
#;c phbn t6 nG 5| Mdc tr_nh @G 5aA.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
5/
N2A ,ocA*ent ch^a *+t vi Wor*Y chng co th( Mdc tha* chi2A vAa
*Tng Wor*5. SD ldng c;c Wor* co th( Mdc .;c M)nh nh 5aA{
,ocA*ent.Wor*5.length.
MOi *+t Wor* co th( Mdc tha* chi2A nh 5aA{
,ocA*ent.Wor*5in,e.
%.1.. !c thuVc tnh
action thA+c t\nh #T%N cfa th N$M.
ele*ent5 MTng ch^a tKt cT c;c thnh phbn trong *+t Wor* Inh
checX@o.Y tr4ng te.tY ,anh 5;ch laa chPn
enco,ing i?A ch^a Xi(A M%M Mdc 56 ,7ng M( *j ho; n+i
,Ang cfa Wor* g6i cho 5erver.
length SD ldng c;c thnh phbn trong *+t Wor*.
*etho, ThA+c t\nh MTH.
target i?A ch^a tHn cfa c6a 5r M\ch Xhi 5A@*it Wor*
%.1.1$. !c ph:ng thc
Wor*Na*e.5A@*it IJ l iAKt ,F li<A cfa *+t Wor* tHn Wor*Na*e t3i
trang .6 l`. &h]ng th^c nG *n phSng *+t clicX vo nt 5A@*it trHn
Wor*.
%.1.11. !c ch:ng trnh _F "L T 5i#n
onSA@*it l #h]ng tr_nh .6 l` 5a Xi<n nG Mdc gPi Xhi ng4i 56 ,7ng
chAG(n ,F li<A tC Wor* Mi.
f'i t(ng hiTtory
9Di tdng nG Mdc 56 ,7ng M( lA giF c;c thnng tin vw c;c c$L tr3c
Mdc ng4i 56 ,7ng 56 ,7ng. anh 5;ch c;c c$L Mdc lA trF theo th^ ta
th4i gian. 9Di tdng nG Xhnng co ch]ng tr_nh .6 l` 5a Xi<n.
%.1.12. !c thuVc tnh
length l SD ldng c;c c$L trong MDi tdng.
%.1.1. !c ph:ng thc
hi5torG.@acXIJ l 9dc 56 ,7ng M( tha* chi2A t3i c$L *3i Mdc
thp* tr3c M?G.
hi5torG.WorQar,IJ l 9dc 56 ,7ng M( tha* chi2A t3i c$L X2 ti2p
trong ,anh 5;ch. No 5| Xhnng g?G hi<A ^ng g_ n2A Mj M2n
cADi cfa ,anh 5;ch.
hi5torG.go I,elta locationJ l 9dc 56 ,7ng M( chAG(n lHn haG
chAG(n .ADng ,elta @ec haG ,i chA(n M2n c$L .;c M)nh @=i
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
5R
location trong ,anh 5;ch. N2A ,elta Mdc 56 ,7ng th_ vi<c
,)ch chAG(n lHn ph\a trHn Xhi ,elta ,]ng v .ADng ph\a ,3i
Xhi ,elta ?*. n2A 56 ,7ng locationY c$L gbn nhKt co ch^a
location l chAOi con 5| Mdc tha* chi2A.
f'i t(ng "in5T
9Di tdng linX l *+t Mo:n vpn @Tn haG *+t Tnh Mdc .e* l *+t
5iHA liHn X2t. #;c thA+c t\nh cfa MDi tdng linX chf G2A .6 l` vw c$L
cfa c;c 5iHA liHn X2t. 9Di tdng linX cng Xhnng co ph]ng th^c no.
MTng linX ch^a ,anh 5;ch tKt cT c;c liHn X2t trong ,ocA*ent. #o th(
.;c M)nh 5D ldng c;c linX vAa
,ocA*ent.linX5.lengthIJ
#o th( tha* chi2A t3i *+t liHn X2t vfa
,ocA*ent.linX5 in,e.
9( .;c M)nh c;c thA+c t\nh cfa MDi tdng linXY co th( 56 ,7ng c$L t]ng
ta{
http{""QQQ.a@c.co*"chap1"page2.ht*ltopic3
%.1.1%. !c thuVc tnh
ha5h l THn anchor cfa v) tr\ hi<n th4i Iv\ ,7 topic3J.
Ho5t l &hbn ho5tna*e{port cfa c$L Iv\ ,7 QQQ.a@c.co*J. #h
` r}ng M?G th4ng l crng ngb* M)nh v \t Xhi Mdc chm ra.
Ho5tna*e l THn cfa ho5t v ,o*ain Iv\ ,7 QQ.a@c.co*J.
hreW l Ton @+ c$L cho ,ocA*ent hi<n t:i.
&athna*e l &hbn M4ng ,tn cfa c$L Iv\ ,7
"chap1"page2.ht*lJ.
port l #rng trAGwn thnng Mdc 56 ,7ng cho *;G t\nh ho5tY thl
4ng l crng ngb* M)nh.
&rotocol l 1iao th^c Mdc 56 ,7ng Icqng v3i ,KA hai chK*J Iv\ ,7
http{J.
Search l #?A trAG vKn t_* Xi2* co th( = cADi c$L cho c;c
5cript #1%.
Target l 1iDng thA+c t\nh T$1T cfa <L%NE!.
%.1.1). !c ch:ng trnh _F "L T 5i#n
on#licX l iTG ra Xhi ng4i 56 ,7ng nhKn vo linX.
onMoA5ever l iTG ra Xhi con chA+t ,i chAG(n vAa linX.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
58
f'i t(ng *ath
9Di tdng Math l MDi tdng n+i t:i trong JavaScript. #;c thA+c t\nh cfa MDi
tdng nG ch^a nhiwA h}ng 5D to;n hPcY c;c h* to;n hPcY ldng gi;c phr
@i2n. 9Di tdng Math Xhnng co ch]ng tr_nh .6 l` 5a Xi<n.
Ui<c tha* chi2A t3i numbCr trong c;c ph]ng th^c co th( l 5D haG c;c
@i(A th^c Mdc Mn;h gi; l 5D hdp l<.
%.1.16. !c thuVc tnh
l H}ng 5D AlerY XhoTng 2Y/1R.
LN2 l logarit ta nhiHn cfa 2Y XhoTng [Y'83.
LN1[ l logarit ta nhiHn cfa 1[Y XhoTng 2Y3[2.
L12 l logarit c] 5D 2 cfa eY XhoTng 1Y002.
&% l 1i; tr) cfa Y XhoTng 3Y10158.
SZ$T12 l #pn @ec 2 cfa [Y5Y XhoTng [Y/[/.
SZ$T2 l #pn @ec 2 cfa 2Y XhoTng 1Y010.
%.1.11. !c ph:ng thc
Math.a@5 Inum*1rJ l TrT l:i gi; tr) tAG<t MDi cfa num*1r.
Math.aco5 Inum*1rJ l TrT l:i gi; tr) arc co5ine Itheo ra,ianJ
cfa num*1r. 1i; tr) cfa num*1r phTi np*g giFa l1 v 1.
Math.a5in Inum*1rJ l TrT l:i gi; tr) arc 5ine Itheo ra,ianJ cfa
num*1r. 1i; tr) cfa num*1r phTi np*g giFa l1 v 1.
Math.atan Inum*1rJ l TrT l:i gi; tr) arc tan Itheo ra,ianJ cfa
num*1r.
Math.ceil Inum*1rJ l TrT l:i 5D ngAGHn nhS nhKt l3n h]n hoVc
@}ng num*1r.
Math.co5 Inum*1rJ l TrT l:i gi; tr) co5ine cfa num*1r.
Math.e.p Inum*1rJ l TrT l:i gi; tr) e num*1rY v3i e l h}ng 5D
Aler.
Math.oor Inum*1rJ l TrT l:i 5D ngAGHn l3n nhKt nhS h]n hoVc
@}ng num*1r.
Math.log Inum*1rJ l TrT l:i logarit ta nhiHn cfa num*1r.
Math.*a. Inum1^num2J l TrT l:i gi; tr) l3n nhKt giFa nA*1 v
nA*2
Math.*in Inum1^num2J l TrT l:i gi; tr) nhS nhKt giFa nA*1 v
nA*2.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
'[
Math.po5 I*a=1^1gp"n1ntJ l TrT l:i gi; tr) @a5e lA thCa
e.ponent.
Math.ran,o* IrJ l TrT l:i *+t 5D ngtA nhiHn giFa [ v 1.
&hQong th^c nG chm thac hi<n Mdc trHn nwn tTng cN%i.
Math.roAn, Inum*1rJ l TrT l:i gi; tr) cfa num*1r l* tr-n t3i 5D
ngAGHn gbn nhKt.
Math.5in Inum*1rJ l TrT l:i 5in cfa num*1r.
Math.5vrt Inum*1rJ l TrT l:i cpn @ec 2 cfa num*1r.
Math.tan Inum*1rJ l TrT l:i tag cfa num*1r.
f'i t(ng at/
9Di tdng ate l MDi tdng co 5n trong JavaScript. No cAng cKp
nhiwA ph]ng th^c co \ch M( .6 l` vw th4i gian v ngG th;ng. 9Di tdng
ate Xhnng co thA+c t\nh v ch]ng tr_nh .6 l` 5a Xi<n.
&hbn l3n c;c ph]ng th^c ,ate MwA co *+t MDi tdng ate Mi cqng. #;c
ph]ng th^c gi3i thi<A trong phbn nG 56 ,7ng MDi tdng ate ,ateUarY
v\ ,7{
,ateUar neQ ate IAgA5t 1'Y 188' 2[{05{[0J
%.1.18. !c ph:ng thc
Gat1Zar.getateIJ l TrT l:i ngG trong th;ng I1l31J cho
Gat1Zar.
Gat1Zar.getaGIJ l TrT l:i ngG trong tAbn I[chf
nhetY...'th^ @TGJ cho Gat1Zar.
Gat1Zar.getHoAr5IJ l TrT l:i gi4 I[l23J cho Gat1Zar.
Gat1Zar.getMinAte5IJ l TrT l:i pht I[l58J cho Gat1Zar.
Gat1Zar.getSecon,5IJ l TrT l:i gi?G I[l58J cho Gat1Zar.
Gat1Zar.getTi*eIJ l TrT l:i 5D ldng c;c *ili gi?G tC [[{[[{[[
ngG 1"1"18/[.
Gat1Zar.getTi*eone5etIJ l TrT l:i M+ ,)ch chAG(n@}ng
pht cfa gi4 M)a ph]ng hi<n t:i 5o v3i gi4 vADc t2 1MT.
Gat1Zar.getearIJlTrT l:i np* cho ,ateUar.
ate.par5e IGat1StrJ l &h?n t\ch chAOi Gat1Str v trT l:i 5D ll
dng c;c *ili gi?G t\nh tC [[{[[{[[ ngG [1"[1"18/[.
Gat1Zar.TetaGIGaCJ l 9Vt ngG trong th;ng l GaC cho
Gat1Zar.
Gat1Zar.TetHoAr5Ih"ur=J l 9Vt gi4 l h"ur= cho Gat1Zar.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
'1
Gat1Zar.TetMinAte5Iminut1=J l 9Vt pht l minut1= cho
Gat1Zar.
Gat1Zar.TetMonth5Im"nth=J l 9Vt th;ng l m"nth= cho
Gat1Zar.
Gat1Zar.TetSecon,5I=1c"nG=J l 9Vt gi?G l 51c"nG= cho
Gat1Zar.
Gat1Zar.TetTi*eIva'u1J l 9Vt th4i gian l valAeY trong Mo
valAe @i(A ,iBn 5D ldng *ili gi?G tC [[{[[{[[ ngG
[1"[1"1[8/[.
Gat1Zar.TetearIC1ar=J l 9Vt np* l C1ar= cho Gat1Zar.
Gat1Zar.to1MTStringIJ l TrT l:i chAOi @i(A ,iBn ,ateUar ,3i ,:ng
1MT.
Gat1Zar.toLocaleStringIJlTrT l:i chAOi @i(A ,iBn ,ateUar theo
XhA vac th4i gian hi<n th4i.
ate.cT# IGearY *onthY ,aG YhoAr5 Y*inAte5 Y5econ,5J l
TrT l:i 5D ldng *ili gi?G tC [[{[[{[[ [1"[1"18/[ 1MT.
f'i t(ng String
9Di tdng String l MDi tdng Mdc .?G ,ang n+i t:i trong JavaScript cAng
cKp nhiwA ph]ng th^c thao t;c trHn chAOi. 9Di tdng nG co thA+c t\nh
,AG nhKt l M+ ,i IlengthJ v Xhnng co ch]ng tr_nh .6 l` 5a Xi<n.
%.1.1. !c ph:ng thc
5tr.anchor Ina*eJ l 9dc 56 ,7ng M( t:o ra th <! I*+t c;ch
M+ngJ. Tha* 5D na*e l thA+c t\nh NM cfa th <!.
5tr.@igIJ l E2t vAT giDng nh th <>%1! trHn chAOi =tr.
5tr.@linXIJ l E2t vAT giDng nh th <>L%NE! trHn chAOi =tr.
5tr.@ol,IJ l E2t vAT giDng nh th <>L! trHn chAOi =tr.
5tr.chartIaJ l TrT l:i X` ta th^ a trong chAOi =tr.
5tr.f.e,IJ l E2t vAT giDng nh th <TT! trHn chAOi =tr.
5tr.WontcolorIJ l E2t vAT giDng nh th <NNT#L$ c"'"r!.
5tr.Wont5ieI=ir1J l E2t vAT giDng nh th <NNTS% =ir1!.
5tr.in,e.[WI5rchStr Yin,e.J l TrT l:i v) tr\ trong chAOi =tr v)
tr\ .AKt hi<n MbA tiHn cfa chAOi =rchStr. #hAOi =tr Mdc t_* tC
tr;i 5ang phTi. Tha* 5D inG1g co th( Mdc 56 ,7ng M( .;c
M)nh v) tr\ @ut MbA t_* Xi2* trong chAOi.
5tr.italic5IJ l E2t vAT giDng nh th <%! trHn chAOi =tr.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
'2
5tr.la5t%n,e.[WI5rchStr Yin,e.J l TrT l:i v) tr\ trong chAOi =tr
v) tr\ .AKt hi<n cADi cqng cfa chAOi =rchStr. #hAOi =tr Mdc t_*
tC phTi 5ang tr;i. Tha* 5D inG1g co th( Mdc 56 ,7ng M( .;c
M)nh v) tr\ @ut MbA t_* Xi2* trong chAOi.
5tr.linXIhreWJ l 9dc 56 ,7ng M( t:o ra *+t X2t nDi HTML M+ng
cho chhAOi =tr. Tha* 5D hr1H l c$L M\ch cfa liHn X2t.
5tr.5*allIJ l E2t vAT giDng nh th <SMLL! trHn chAOi =tr.
5tr.5triXeIJ l E2t vAT giDng nh th <ST$%E! trHn chAOi =tr.
5tr.5A@IJ l T:o ra *+t 5A@5cript cho chAOi =trY giDng th
<Sc>!.
5tr.5A@5tringIaY@J l TrT l:i chAOi con cfa =tr l c;c X` ta tC v)
tr\ th^ a t3i v) tr\ th^ @. #;c X` ta Mdc M2* tC tr;i 5ang phTi
@ut MbA tC [.
5tr.5ApIJ l T:o ra 5Aper5cript cho chAOi =trY giDng th <Sc&!.
5tr.toLoQer#a5eIJ l 9ri chAOi =tr thnh chF th4ng.
5tr.tocpper#a5eIJ l 9ri chAOi =tr thnh chF hoa.
!c ph>n tF cRa &'i t(ng qorA
Nor* Mdc t:o @=i c;c phbn t6 cho phyp ng4i 56 ,7ng Ma thnng tin vo.
Ehi MoY n+i ,Ang IhoVc gi; tr)J cfa c;c phbn t6 5| Mdc chAG(n M2n
*+t ch]ng tr_nh trHn 5erver vAa *+t giao ,i<n Mdc gPi l #o**on
1ateQaG %nterWaceI1iao ti2p vAa *+t crng chAngJ gPi tut l #1%
S6 ,7ng JavaScript @:n co th( vi2t nhFng Mo:n 5cript5 chn vo HTML
cfa @:n M( l* vi<c v3i c;c phbn t6 cfa Wor* v c;c gi; tr) cfa chng.
VWng XI Cc ,h!n t" cYa Dorm
Kh>n tF *+ t3
@Atton
L *+t nt @K* h]n l nt 5A@*it haG nt re5et
I<%N&cT T&@Atton!J
checX@o. M+t checX@o. I<%N&cT T&checX@o.!J
Nilecploa,
L *+t phbn t6 tTi fle lHn cho phyp ng4i 56 ,7ng g6i lHn
*+t fle I<%N&cT T&fle!J
hi,,en M+t tr4ng Ln I<%N&cT T&hi,,en!J
pa55Qor,
M+t tr4ng te.t M( nhep *et XhLA * tKt cT c;c X` ta
nhep vo MwA hi(n th) l ,KA IJI<%N&cT
T&pa55Qor,!J
ra,io M+t nt @K* I<%N&cT T&ra,io!J
re5et M+t nt re5etI<%N&cT T&re5et!J
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
'3
5elect
M+t ,anh 5;ch laa chPn
I<SL#T!<&T%N!option1<"&T%N!
<&T%N!option2<"&T%N!<"SL#T!J
5A@*it M+t nt 5A@*it I<%N&cT T&5A@*it!J
te.t M+t tr4ng te.t I<%N&cT T&te.t!J
te.trea
M+t tr4ng te.t cho phyp nhep vp nhiwA ,-ng
<TiT$!,eWaAlt te.t<"TiT$!J
MOi phbn t6 co th( Mdc MVt tHn M( JavaScript trAG nhep M2n chng
vAa tHn
%.1.2$. 9huVc tnh tGpe
Trong *Oi phbn t6 cfa Wor* MwA co thA+c t\nh tGpeY Mo l *+t .?A
chm M)nh r Xi(A cfa phbn t6 Mdc Ma vo nh nt @K*Y *+t tr4ng te.t
haG *+t checX@o....
i?A Mo co th( l *+t trong c;c gi; tr) 5aA{
Te.t fel,{ te.t
$a,io @Atton{ ra,io
#hecX@o.{ checX@o.
Hi,,en fel,{ hi,,en
SA@*it @Atton{ 5A@*it
$e5et @Atton{ re5et
&a55Qor, fel,{ pa55Qor,
>Atton{ @Atton
Select li5t{ 5electlone
MAltiple 5elect li5t5{ 5electl*Altiple
Te.tarea fel,{ te.tarea
%.1.21. Kh>n tF @Atton
Trong *+t Wor* HTML chALnY chm co hai nt @K* co 5n l 5A@*it v
re5et @=i v) ,F li<A trong Wor* phTi Mdc g6i t3i *+t vi M)a chm c$L
Ith4ng l #1%l>%N 5criptJ M( .6 l` v lA trF.
M+t phbn t6 @Atton Mdc chm M)nh r Xhi 56 ,7ng th %N&cT{
OJ?Kj9 9Kk^YbuttonY ?i*k^YnaA/Y {i;jk^ Ybutton?aA/YQ
Trong th %N&cTY na*e l tHn cfa @AttonY thA+c t\nh ULc co ch^a
nhjn cfa @Atton 5| Mdc hi(n th) trHn Navigator cfa @roQ5er.
#hm co *+t th 5a Xi<n ,AG nhKt MDi v3i @Atton l on!"ic5. E2t hdp v3i
no l c;ch th^c ,AG nhKt c"ic5.&hbn t6 @Attton co XhT npng *= r+ng
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
'0
cho phyp ng4i lep tr_nh JavaScript co th( vi2t Mdc *+t Mo:n *j l<nh
JavaScript M( thac thi vi<c thH* vo *+t nt @K* trong *+t 5cript.
Trong v\ ,7 5aAY thaG v_ 56 ,7ng on#hangeY @:n co th( chmnh 56a
5cript M( M)nh gi; @i(A th^c Xhi @Atton Mdc @K*.
U\ ,7{ 9)nh gi; *+t Wor* 56 ,7ng phbn t6 @Atton.
<HTML!
<H!
<T%TL!@Atton .a*ple<"T%TL!
<S#$%&T LN1c1JavaScript!
<ll H% N$M TH$ >$kS$S
WAnction calcAlateIWor*J
Wor*.re5Alt5.valAe evalIWor*.entrG.valAeJ

"" ST& H%%N1 N$M TH$ >$kS$S ll!


<"S#$%&T!
<"H!
<>!
<N$M MTH&ST!
nter a JavaScript *athe*atical e.pre55ion{
<%N&cT T&te.t NMentrG ULc!
<>$!
The re5Alt oW thi5 e.pre55ion i5{
<%N&cT T&te.t NMre5Alt5 onNocA5thi5.@lArIJ!
<>$!
<%N&cT T&@Atton ULc#alcAlate on#licXcalcAlateIthi5.Wor*J!
<"N$M!
<">!
<"HTML!
%.1.22. Kh>n tF checX@o.
#;c phbn t6 checX@o. co XhT npng @et tut ,qng M( chPn hoVc Xhnng
chPn *+t thnng tin. #;c checX@o. co nhiwA thA+c t\nh v c;ch th^c
h]n @Atton. >Tng ,3i M?G l ,anh 5;ch c;c thA+c t\nh v c;c c;ch th^c
cfa phbn t6 checX@o..
>Tng . #;c thA+c t\nh v c;ch th^c cfa phbn t6 checX@o..
#;ch th^c v
thA+c t\nh
Mn tT
checXe,
#ho @i2t tr:ng th;i hi<n th4i cfa checX@o. IthA+c
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
'5
t\nhJ
,eWaAlt#hecXe, #ho @i2t tr:ng th;i *Vc M)nh cfa phbn t6 IthA+c
t\nhJ
na*e #ho @i2t tHn cfa phbn t6 Mdc chm M)nh trong th
%N&cT IthA+c t\nhJ
valAe #ho @i2t gi; tr) hi<n th4i cfa phbn t6 Mdc chm
M)nh trong th %N&cT IthA+c t\nhJ
clicXIJ Mn tT *+t clicX vo checX@o. I#;ch th^cJ
&hbn t6 checX@o. chm co *+t th 5a Xi<n l on#licX
U\ ,7{ T:o h+p checX@o. M( nhep vo *+t 5D rsi laa chPn t\nh nh?n
Mni v @_nh ph]ng{
<HTML!
<H!
<T%TL!checX@o. .a*ple<"T%TL!
<S#$%&T!
<ll H% N$M TH$ >$kS$S
WAnction calcAlateIWor*YcallingNiel,J
iW IcallingNiel, re5AltJ "" iWI1J
iW IWor*.5vAare.checXe,J "" iWI2J
Wor*.entrG.valAe Math.5vrtIWor*.re5Alt.valAeJ

el5e
Wor*.entrG.valAe Wor*.re5Alt.valAe " 2
""en, iWI2J

el5e
iW IWor*.5vAare.checXe,J "" iWI3J
Wor*.re5Alt.valAeWor*.entrG.valAeWor*.entrG.valAe

el5e
Wor*.re5Alt.valAe Wor*.entrG.valAe 2
""enW, iWI3J
""en, iWI1J
""en, WAnction
"" ST& H%%N1 N$M TH$ >$kS$S ll!
<"S#$%&T!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
''
<"H!
<>!
<N$M MTH&ST!
UalAe{ <%N&cT T&te.t NMentrG ULc[
on#hangecalcAlateIthi5.Wor*Ythi5.na*eJ!
<>$!
ction I,eWaAlt ,oA@leJ{ <%N&cT T&checX@o. NM5vAare
on#licXcalcAlateIthi5.Wor*Ythi5.na*eJ!
SvAare
<>$!
$e5Alt{ <%N&cT T&te.t NMre5Alt ULc[
on#hangecalcAlateIthi5.Wor*Ythi5.na*eJ!
<"N$M!
<">!
<"HTML!
Trong 5cript nGY @:n Mj thKG c;ch 56 ,7ng th 5a Xi<n on#licX cng nh
thA+c t\nh checXe, l *+t gi; tr) Xi(A >oolean co th( ,qng l* MiwA
Xi<n trong c?A l<nh iW...el5e
>:n co th( thH* *+t checX@o. tHn l 5vAare vo Wor*. N2A h+p nG Ml
dc checXY ch]ng tr_nh 5| lKG gi; tr) cfa noY n2A XhnngY *+t thac thi Ml
dc *Vc M)nh 5| nh?n Mni gi; tr) cfa no. Th 5a Xi<n on#licX trong
checX@o. Mdc M)nh nghga{
I<%N&cT T&checX@o. NM5vAare on#licX calcAlateI thi5.Wor*Y
thi5.na*eJ! J
Ehi Mo n2A ng4i ,qng thaG Mri *+t c?A l<nh Xh;cY Wor* 5| Mdc t\nh
to;n l:i.
9( t:o ra 5a *= r+ng cho checX@o.. @:n co th( thaG Mri h*
calcAlateIJ nh 5aA{
WAnction calcAlateIWor*YcallingNiel,J
iW IcallingNiel, re5AltJ "" iW I1J
iW IWor*.5vAare.checXe,J "" iW I2J
Wor*.entrG.valAe Math.5vrtIWor*.re5Alt.valAeJ

el5e
Wor*.entrG.valAe Wor*.re5Alt.valAe " 2
""en, iWI2J

el5e
iW IWor*.5vAare.checXe,J "" iW I3J
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
'/
Wor*.re5Alt.valAeWor*.entrG.valAeWor*.entrG.valAe

el5e
Wor*.re5Alt.valAe Wor*.entrG.valAe 2
"" en, iW I3J
"" en, iW I1J

%.1.2. Kh>n tF Nile cploa,


&hbn t6 nG cAng cKp cho Wor* *+t c;ch M( ng4i 56 ,7ng co th( chm
r *+t fle Ma vo Wor* .6 l`. &hbn t6 fle cploa, Mdc chm M)nh r
trong JavaScript @}ng MDi tdng qi"/jp"oad.
9Di tdng chm co hai thA+c t\nh l naA/ v va"u/Y cT hai MwA l gi; tr)
.?A nh c;c MDi tdng Xh;c. Ehnng co c;ch th^c haG th fle cho MDi tdng
nG.
%.1.2%. Kh>n tF hi,,en
&hbn t6 hi,,en l phbn t6 ,AG nhKt trong 5D tKt cT c;c phbn t6 cfa
Wor* Xhnng Mdc hi(n th) trHn ke@ @roQ5er. Tr4ng hi,,en co th( 56
,7ng M( lA c;c gi; tr) cbn thi2t M( g6i t3i 5erver 5ong 5ong v3i 5a .AKt
ra tC Wor* IWor* 5A@*i55ionJ nhng no Xhnng Mdc hi(n th) trHn trang.
MPi ng4i co th( 56 ,7ng trong JavaScript M( lA c;c gi; tr) trong 5ADt
*+t 5cript v M( t\nh to;n Xhnng cbn Wor*.
9Di tdng hi,,en chm co hai thA+c t\nh l naA/ v va"u/Y Mo cng l
nhFng gi; tr) .?A giDng c;c MDi tdng Xh;c. Ehnng co c;ch th^c haG th
5a Xi<n no cho MDi tdng nG.
%.1.2). Kh>n tF &a55Qor,
9Di tdng &a55Qor, l MDi tdng ,AG nhKt trong c;c MDi tdng cfa Wor* *
Xhi g @Kt Xz X` ta no vo cng MwA hi(n th) ,KA 5aoIJ. No cho
phyp Ma vo nhFng thnng tin @\ *et nh Mpng X` *et XhLA...
9Di tdng &a55Qor, co 3 thA+c t\nh giDng tr4ng te.t l{ ,eWaAltUalAeY
na*e v valAe. Ehnng giDng v3i hai phbn t6 = trHnY tr4ng &a55Qor, co
nhiwA c;ch th^c h]nIWocA5IJY @lArIJY an, 5electIJ J v t]ng ^ng v3i c;c
th 5a Xi<n{ onNocA5Y on>lArY an, onSelect.
&hbn nG 5| Mdc noi X h]n trong MDi tdng te.t.
%.1.26. Kh>n tF ra,io
9Di tdng ra,io gbn giDng 5a @et tut checX@o. Xhi co hai nt ra,io X2t
hdp thnh *+t nho*. Ehi nhiwA ra,io Mdc X2t hdp thnh *+t nho*Y chm
co *+t nt Mdc chPn trong @Kt Xz *+t th4i Mi(* no. U\ ,7 ,-ng l<nh
5aA t:o ra *+t nho* ra,io co @a nt tHn l te5t{
<%N&cT T&ra,io NMte5t ULc1 ch#E!1<>$!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
'R
<%N&cT T&ra,io NMte5t ULc2!2<>$!
<%N&cT T&ra,io NMte5t ULc3!3<>$!
Nho* c;c nt ra,io l:i @}ng c;ch MVt cho chng co cqng *+t tHn trong
c;c th %N&cT.
#o *+t vi thA+c t\nh M( Xi(* tra tr:ng th;i hi<n th4i cfa *+t nho*
nt ra,io. >Tng 5aA hi(n th) c;c thA+c t\nh v c;ch th^c cfa MDi tdng
ra,io.
>Tng . #;c thA+c t\nh v c;ch th^c cfa MDi tdng ra,io.
ThA+c t\nh v
c;ch th^c
Mn tT
checXe,
Mn tT tr:ng th;i hi<n th4i cfa phbn t6 ra,io IthA+c
t\nhJ
,eWaAlt#hecXe,
Mn tT tr:ng th;i *Vc M)nh cfa phbn t6 IthA+c
t\nhJ
in,e.
Mn tT th^ ta cfa nt ra,io Mdc chPn hi<n th4i trong
*+t nho*
length
Mn tT trng 5D nt ra,io trong *+t nho*
na*e
Mn tT tHn cfa phbn t6 Mdc chm M)nh trong th
%N&cT IthA+c t\nhJ
valAe
Mn tT gi; tr) hi<n th4i cfa phbn t6 Mdc M)nh ra
trong th %N&cT IthA+c t\nhJ
clicXIJ
Mn phSng *+t clicX trHn nt ra,io Ic;ch th^cJ
#ng nh checX@o.Y ra,io chm co *+t th 5a Xi<n l on#licX.
Ehnng co @Kt Xz *+t MDi tdng Wor* no co thA+c t\nh in,e. v length.
o *+t nho* ra,io gs* nhiwA phbn t6 ra,ioY nHn chng Mdc MVt
trong *+t *Tng c;c nt ra,io v Mdc M;nh 5D tC [. Trong v\ ,7 nho*
ra,io co tHn te5t = trHnY n2A nho* Mo n}* trong *+t Wor* co tHn l
te5tWor*Y @:n co th( gPi t3i nt ra,io th^ hai @}ng tHn
te5tWor*.te5t1 v co th( Xi(* tra gi; tr) cfa no @}ng
te5tWor*.te5t1.checXe,
9( *inh ho: r c;ch ,qng MDi tdng ra,ioY ta .e* v\ ,7 5aA{
U\ ,7{
<HTML!
<H!
<T%TL!ra,io @Atton .a*ple<"T%TL!
<S#$%&T!
<ll H% N$M TH$ >$kS$S
WAnction calcAlateIWor*YcallingNiel,J
iW IcallingNiel, re5AltJ
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
'8
iW IWor*.action1.checXe,J
Wor*.entrG.valAe Math.5vrtIWor*.re5Alt.valAeJ
el5e
Wor*.entrG.valAe Wor*.re5Alt.valAe " 2

el5e
iW IWor*.action1.checXe,J
Wor*.re5Alt.valAeWor*.entrG.valAeWor*.entrG.valAe
el5e
Wor*.re5Alt.valAe Wor*.entrG.valAe 2



"" ST& H%%N1 N$M TH$ >$kS$S ll!
<"S#$%&T!
<"H!
<>!
<N$M MTH&ST!
UalAe{ <%N&cT T&te.t NMentrG ULc[
on#hangecalcAlateIthi5.Wor*Ythi5.na*eJ! <>$!
ction{<>$!
<%N&cT T&ra,io NMaction ULctQice
on#licXcalcAlateIthi5.Wor*Ythi5.na*eJ! oA@le<>$!
<%N&cT T&ra,io NMaction ULc5vAare
on#licXcalcAlateIthi5.Wor*Ythi5.na*eJ! SvAare <>$!
$e5Alt{ <%N&cT T&te.t NMre5Alt ULc[
on#hangecalcAlateIthi5.Wor*Ythi5.na*eJ!
<"N$M!
<">!
<"HTML!
Trong v\ ,7 nGY 5a thaG Mri tC checX@o. = trHn l rKt Xho nhen @i2t.
ThaG cho *+t checX@o. trong v\ ,7 tr3cY = M?G ta 56 ,7ng hai nt
ra,io v3i hai gi; tr) Xh;c nhaA{ ,oA@le v 5vAare
Nh ta Mj @i2t co th( trAG nhep M2n c;c nt ra,io vAa *+t *TngY ,o
Mo hai nt nG co th( trAG nhep @}ng action}$~ v action}1~. >}ng
c;ch nGY @:n chm cbn thaG Mri tha* chi2A M2n h* caEcuEatC(* tC
`orA.Tuar/.ch/c5/d thnh `orA.action}1~.ch/c5/d.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
/[
%.1.21. Kh>n tF re5et
S6 ,7ng MDi tdng re5etY @:n co th( t;c M+ng ngdc l:i M( clicX vo nt
$e5et. #ng giDng MDi tdng @AttonY MDi tdng re5et co hai thA+c t\nh l
na*e v valAeY v *+t c;ch th^c clicXIJY *+t th 5a Xi<n on#licX.
HbA h2t nhFng ng4i lep tr_nh Xhong 56 ,7ng th 5a Xi<n on#licX cfa
nt re5et M( Xi(* tra gi; tr) cfa nt nGY MDi tdng re5et th4ng ,qng
M( .o; Wor*.
U\ ,7 5aA *inh ho: c;ch 56 ,7ng nt re5et M( .o; c;c gi; tr) cfa Wor*.
U\ ,7{
<HTML!
<H!
<T%TL!re5et .a*ple<"T%TL!
<S#$%&T LN1c1JavaScript!
<ll H% N$M TH$ >$kS$S
WAnction clearNor*IWor*J
Wor*.valAe1.valAe Nor*
Wor*.valAe2.valAe #leare,

"" ST& H%%N1 N$M TH$ >$kS$S ll!


""S#$%&T!
<"H!
<>!
<N$M MTH&ST!
<%N&cT T&te.t NMvalAe1!<>$!
<%N&cT T&te.t NMvalAe2!<>$!
<%N&cT T&re5et ULc#lear Nor* on#licXclearNor*Ithi5.Wor*J!
<"N$M!
<">!
<"HTML!
%.1.28. Kh>n tF 5elect
anh 5;ch laa chPn trong c;c Wor* HTML .AKt hi<n *enA ,ropl,oQn
hoVc ,anh 5;ch cA+n Mdc cfa c;c MDi tdng co th( Mdc laa chPn. #;c
,anh ,;ch Mdc .?G ,ang @}ng c;ch 56 ,7ng hai th SL#T v &T%N.
U\ ,7{
<SL#T NMte5t!
<&T%N SL#T!1
<&T%N!2
<&T%N!3
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
/1
<"SL#T!
t:o ra @a thnh phbn cfa *enA thT ,ropl,oQn v3i @a laa chPn 1Y2 v 3.
S6 ,7ng thA+c t\nh S% @:n co th( t:o ta *+t ,anh 5;ch cA+n v3i 5D
phbn t6 hi(n th) = lbn th^ nhKt. 9( @et *enA ,ropl,oQn trong *+t
*enA cA+n v3i hai thnh phbn hi(n th)Y @:n co th( 56 ,7ng nh 5aA{
<SL#T NMte5t S%2!
<&T%N SL#T!1
<&T%N!2
<&T%N!3
<"SL#T!
Trong cT hai v\ ,7 trHnY ng4i 56 ,7ng chm co th( co *+t laa chPn. N2A
56 ,7ng thA+c t\nh McLT%&LY @:n co th( cho phyp ng4i 56 ,7ng laa
chPn nhiwA h]n *+t gi; tr) trong ,anh 5;ch laa chPn{
<SL#T NMte5t S%2 McLT%&L!
<&T%N SL#T!1
<&T%N!2
<&T%N!3
<"SL#T!
anh 5;ch laa chPn trong JavaScript l MDi tdng T/"/ct. 9Di tdng nG t:o
ra *+t vi thnh phbn t]ng ta c;c @Atton v ra,io.
U3i c;c thnh phbn laa chPnY ,anh 5;ch c;c laa chPn Mdc ch^a trong
*+t *Tng Mdc M;nh 5D tC [. Trong tr4ng hdp nGY *Tng l *+t thA+c
t\nh cfa MDi tdng T/"/ct gPi l optionT.
#T vi<c laa chPn c;c option v tCng phbn t6 option riHng @i<t MwA co
nhFng thA+c t\nh. >r 5Ang thH* vo *Tng optionY phbn t6 5elect co
thA+c t\nh T/"/ct/dJnd/_Y co ch^a 5D th^ ta cfa option Mdc laa chPn
hi<n th4i.
MOi option trong ,anh 5;ch laa chPn MwA co *+t vi thA+c t\nh{
NcLTSL#T{ cho @i2t option co Mdc *Vc M)nh l laa
chPn trong th &T%N haG Xhnng.
%Ni{ ch^a gi; tr) 5D th^ ta cfa option h)Hn th4i trong *Tng
option.
SL#T{ cho @i2t tr:ng th;i hi<n th4i cfa option
TiT{ co ch^a gi; tr) cfa ,-ng te.t hi(n th) trHn *enA cho
*Oi optionY v thA+c t\nh valAe *Pi gi; tr) chm ra trong th
&T%N.
9Di tdng 5elect Xhnng co c;c c;ch th^c Mdc M)nh nghga 5n. TAG nhiHnY
MDi tdng 5elect co @a th 5a Xi<nY Mo l on>lAeY onNocA5Y on#hangeY
chng MwA l nhFng MDi tdng te.t.
U\ ,7 @:n co ,anh 5;ch laa chPn 5aA{
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
/2
<SL#T NMe.a*ple onNocA5reactIJ!
<&T%N SL#T ULcNA*@er ne!1
<&T%N ULcThe Secon,!2
<&T%N ULcThree i5 %t!3
<"SL#T!
Ehi lbn MbA tiHn hi(n th) @:n co th( trAG nhep t3i c;c thnng tin 5aA{
e.a*ple.option51.valAe The Secon,
e.a*ple.option52.te.t 3
e.a*ple.5electe,%n,e. [
e.a*ple.option5[.,eWaAltSelecte, trAe
e.a*ple.option51.5electe, Wal5e
N2A ng4i 56 ,7ng X\ch vo *enA v laa chPn option th^ haiY th_ th
onNocA5 5| thac hi<nY v Xhi Mo gi; tr) cfa thA+c t\nh 5| l{
e.a*ple.option51.valAe The Secon,
e.a*ple.option52.te.t 3
e.a*ple.5electe,%n,e. 1
e.a*ple.option5[.,eWaAltSelecte, trAe
e.a*ple.option51.5electe, trAe
SFa cc danh Tch "a chtn
Navigator 3.[ cho phyp thaG Mri n+i ,Ang cfa ,anh 5;ch laa chPn tC
JavaScript @}ng c;ch liHn X2t c;c gi; tr) *3i cho thA+c t\nh te.t cfa c;c
thac th( trong ,anh 5;ch.
U\ ,7Y trong v\ ,7 tr3cY @:n Mj t:o ra *+t ,anh 5;ch laa chPn nh 5aA{
<SL#T NMe.a*ple onNocA5reactIJ!
<&T%N SL#T ULcNA*@er ne!1
<&T%N ULcThe Secon,!2
<&T%N ULcThree i5 %t!3
<"SL#T!
#o th( thaG Mri Mdc ,-ng te.t hi(n th) trHn nt th^ hai
thnh tQo @png{
e.a*ple.option51.te.t tQo
#o th( thH* c;c laa chPn *3i vo ,anh 5;ch @}ng c;ch
56 ,7ng MDi tdng .?G ,ang ptionIJ theo c ph;p{
neQptionNa*e neQ ptionIoptionTe.tY optionUalAeY
,eWaAltSelecte,Y 5electe,J
5electLi5tNa*e.option5in,e. neQptionNa*e
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
/3
Ui<c t:o MDi tdng optionIJ nG v3i ,-ng te.t Mdc chm tr3cY
,eWaAltSelecte, v 5electe, nh trHn Mj M)nh ra nhFng
gi; tr) Xi(A >oolean. 9Di tdng nG Mdc liHn X2t vo ,anh
5;ch laa chPn Mdc thac hi<n @}ng ind/_.
#;c laa chPn co th( @) .o; trong ,anh 5;ch laa chPn
@}ng c;ch gun gi; tr) nu"" cho MDi tdng *ADn .o;
5electLi5tNa*e.option5in,e. nAll
1.1 &hbn t6 TubAit
Nt SA@*it l *+t tr4ng hdp MVc @i<t cfa @AttonY cng
nh nt $e5et. Nt nG Ma thnng tin hi<n t:i tC c;c tr4ng
cfa Wor* t3i M)a chm c$L Mdc chm ra trong thA+c t\nh
#T%N cfa th Wor* 56 ,7ng c;ch th^c MTH chm ra
trong th N$M.
1iDng nh MDi tdng @Atton v re5etY MDi tdng 5A@*it co
5n thA+c t\nh na*e v valAeY c;ch th^c clicXIJ v th
5a Xi<n on#licX.
1.2 &hbn t6 9/_t
&hbn t6 nG n}* trong nhFng phbn t6 haG Mdc 56 ,7ng
nhKt trong c;c Wor* HTML. T]ng ta nh tr4ng &a55Qor,Y
tr4ng te.t cho phyp nhep vo *+t ,-ng M]nY nhng c;c
X` ta cfa no hi<n ra @_nh th4ng.
MDi tdng te.t co @a thA+c t\nh{,eWaAtUalAeY na*e v
valAe. >a c;ch th^c *n phSng 5a Xi<n cfa ng4i 56 ,7ng{
WocA5IJY @lArIJ v 5electIJ. #o 0 th 5a Xi<n l{ o@>lArY
onNocA5Y on#hangeY onSelect. #h ` c;c 5a Xi<n nG
chm thac hi<n Xhi con trS Mj Mdc X\ch ra ngoi tr4ng
te.t.
>Tng 5aA *n tT c;c thA+c t\nh v c;ch th^c cfa MDi tl
dng te.t.
>Tng .#;c thA+c t\nh v c;ch th^c cfa MDi tdng te.t.
#;ch th^c v thA+c
t\nh
Mn tT
,eWaAltUalAe #hm ra gi; tr) *Vc M)nh cfa phbn
t6 Mdc chm ra trong th %N&cT IthA+c
t\nhJ
na*e THn cfa MDi tdng Mdc chm ra trong th
%N&cT IthA+c t\nhJ
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
/0
valAe 1i; tr) hi<n th4i cfa phbn t6 IthA+c
t\nhJ
WocA5IJ Mn tT vi<c con trS t3i tr4ng te.t Ic;ch
th^cJ
@lArIJ Mn tT vi<c con trS r4i tr4ng te.t Ic;ch
th^cJ
5electIJ Mn tT vi<c laa chPn ,-ng te.t trong
tr4ng te.t Ic;ch th^cJ
M+t ch ` vAan trPng l co th( g;n gi; tr) cho tr4ng
te.t @}ng c;ch liHn X2t c;c gi; tr) v3i thA+c t\nh valAe.
Trong v\ ,7 5aA M?GY ,-ng te.t Mdc Ma vo tr4ng MbA
tiHn Mdc lVp l:i trong tr4ng te.t th^ haiY v *Pi ,-ng
te.t Mdc Ma vo tr4ng te.t th^ hai l:i Mdc lVp l:i trong
tr4ng te..t th^ nhKt. EhT npng nG cfa no co th( ;p
,7ng M( ta M+ng cep nhet hoVc thaG Mri ,F li<A.
U\ ,7. Ta M+ng cep nhet c;c tr4ng te.t .
<HTML!
<H!
<T%TL!te.t .a*ple<"T%TL!
<S#$%&T LN1c1JavaScript!
<ll H% N$M TH$ >$kS$S
WAnction echoIWor*YcArrentNiel,J
iW IcArrentNiel, fr5tJ
Wor*.5econ,.valAe Wor*.fr5t.valAe
el5e
Wor*.fr5t.valAe Wor*.5econ,.valAe

"" ST& H%%N1 N$M TH$ >$kS$S ll!
<"S#$%&T!
<"H!
<>!
<N$M!
<%N&cT T&te.t NMfr5t
on#hangeechoIthi5.Wor*Ythi5.na*eJ!
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
/5
<%N&cT T&te.t NM5econ,
on#hangeechoIthi5.Wor*Ythi5.na*eJ!
<"N$M!
<">!
<"HTML!
1. &hbn t6 9/_tar/a
Th TiT$ cAng cKp *+t h+p cho phyp nhep 5D
,-ng te.t ,o ng4i thi2t X2 M)nh tr3c. U\ ,7{
<TiT$ NMfel,Na*e $kS1[ #LS25!
eWaAlt Te.t Here
<"TiT$!
v\ ,7 nG t:o ra *+t tr4ng te.t cho phyp Ma vo 1[
hng Y*Oi hng 25 X` ta. -ng eWaAtl Te.t Here5|
.AKt hi<n trong tr4ng nG vo lbn hi(n th) MbA tiHn.
#ng nh phbn t6 te.t Y JavaScript cAng cKp cho @:n c;c
thA+c t\nh ,eWaAltUalAeY na*eY v valAeY c;c c;ch th^c
WocA5IJY 5electIJY v @lArIJY c;c th 5a Xi<n on>lArY
onNorcA5Y on#hangeY onSelect.
2. MTng /"/A/ntT}~
#;c MDi tdng cfa Wor* co th( Mdc gPi t3i @}ng *Tng
ele*ent5. U\ ,7 @:n t:o ra *+t Wor* 5aA{
<N$M MTH&ST NMte5tWor*!
<%N&cT T&te.t NMone!
<%N&cT T&te.t NMtQo!
<%N&cT T&te.t NMthree!
<"N$M!
@:n co th( gPi t3i @a thnh phbn nG nh 5aA{
,ocA*ent.ele*ent5[Y ,ocA*ent.ele*ent51Y
,ocA*ent.ele*ent52Y h]n nFa c-n co th( gPi
,ocA*ent.te5tWor*.oneY ,ocA*ent.te5tWor*.tQoY
,ocA*ent.te5tWor*.three.
ThA+c t\nh nG th4ng Mdc 56 ,7ng trong c;c *Di vAan
h< tAbn ta cfa c;c phbn t6 h]n l ,qng tHn cfa chng.
. MTng `orA}~
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
/'
#;c th 5a Xi<n Mdc thi2t X2 M( l* vi<c v3i c;c Wor*
riHng @i<t hoVc c;c tr4ng = *+t th4i Mi(*Y no rKt hFA
,7ng M( cho phyp gPi t3i c;c Wor* co liHn vAan trong
cqng *+t trang.
MTng Wor* Mw cep M2n = M?G co th( co nhiwA .;c
M)nh c;c nh?n cfa Wor* trHn cqng *+t trang v have
inWor*ation in a 5ingle fel, *atch in all three Wor*5. #o
th( gPi @}ng ,ocA*ent.Wor*5 thaG v_ gPi @}ng tHn
Wor*. Trong 5cript nGY @:n co hai tr4ng te.t M( nhep v
n}* trHn hai Wor* M+c lep v3i nhaA. S6 ,7ng *Tng Wor*
@:n co th( t]ng t;c trHn c;c gi; tr) cfa c;c tr4ng trong
hai Wor* cqng *+t lc Xhi ng4i 56 ,7ng thaG Mri gi; tr)
trHn *+t Wor*.
<HTML!
<H!
<T%TL!Wor*5 .a*ple<"T%TL!
<"H!
<>!
<N$M MTH&ST!
<%N&cT T&te.t
on#hange,ocA*ent.Wor*51.ele*ent5[.valAe
thi5.valAe!
<"N$M!
<N$M MTH&ST!
<%N&cT T&te.t
on#hange,ocA*ent.Wor*5[.ele*ent5[.valAe
thi5.valAe!
<"N$M!
<">!
<"HTML!
MVt Xh;cY @:n cng co th( trAG nhep M2n Wor* @}ng
tHn Wor* Mdc MVt trong th N$M{
<N$M MTH&ST NMna*e!
Ehi Mo @:n co th( gPi l ,ocA*ent.Wor*5na*e hoVc
,ocA*ent.na*e
%. ie* l:i c;c l<nh v *= r+ng
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
//
L<nh" M=
r+ng
Ei(A Mn tT
@lArIJ c;ch th^c
JavaScript
Mn tT vi<c ,)ch chAG(n con
trS tC *+t phbn t6
Wor*.action c;ch th^c
JavaScript
i?A ch^a gi; tr) cfa thA+c
t\nh #T%N trong th N$M
Wor*.ele*rnt5 thA+c t\nh
JavaScript
*Tng ch^a ,anh 5;ch c;c
phbn t6 trong Wor* Inh
checX@o.Y tr4ng te.tY ,anh
5;ch laa chPnJ
Wor*.enco,in
g
thA+c t\nh
JavaScript
.?A ch^a Xi(A M%M 56 ,7ng
Xhi chAG(n thnng tin tC Wor*
t3i 5erver
Wor*Yna*e thA+c t\nh
JavaScript
i?A ch^a gi; tr) thA+c t\nh
NM trong th N$M
Wor*.target thA+c t\nh
JavaScript
i?A ch^a tHn c6a 5r M\ch
@=i *+t Wor* 5A@*ition
Wor*.5A@*it c;ch th^c
JavaScript
Mn tT vi<c 5A@*it *+t Wor*
HTML
tGpe thA+c t\nh
JavaScript
;nh .: Xi(A cfa *+t phbn t6
Wor* thnh *+t .?A.
onSA@*it Th 5a Xi<n th 5a Xi<n cho vi<c 5A@*it
@Atton thA+c t\nh
HTML
ThA+c t\nh Xi(A cho c;c nt
@K* cfa HTML I<%N&cT
T&@Atton!J
checX@o. thA+c t\nh
HTML
ThA+c t\nh Xi(A cho c;c
checX@o. cfa HTML I<%N&cT
T&checX@o.!J
pa5Qor, thA+c t\nh
HTML
ThA+c t\nh Xi(A cho c;c ,-ng
pa5Qor, cfa HTMLI<%N&cT
T&pa55Qor,!J
ra,io thA+c t\nh
HTML
ThA+c t\nh Xi(A cho c;c nt
ra,io cfa HTML I<%N&cT
T&ra,io!J
re5et thA+c t\nh
HTML
ThA+c t\nh Xi(A cho c;c nt
re5et cfa HTML I<%N&cT
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
/R
T&re5et!J
SL#T th HTML H+p th cho ,anh 5;ch laa
chPn
&T%N th HTML chm ra c;c laa chPn trong
,anh 5;ch laa
chPnI<SL#T!<&T%N!p
tion
1<&T%N!ption
2<"SL#T!J
5A@*it thA+c t\nh
HTML
ThA+c t\nh Xi(A cfa nt
5A@*it I<%N&cT
T&5A@*it!J
te.t thA+c t\nh
HTML
ThA+c t\nh Xi(A cfa tr4ng
trong Wor* I<%N&cT
T&te.t!J
TiT$ Th HTML H+p th cho nhiwA ,-ng te.t
I<TiT$! ,eWaAtl te.t
<"TiT$!J
na*e thA+c t\nh
JavaScript
i?A ch^a tHn phbn t6 HTML
I@AttonY checX@o.Y
pa55Qor,...J
valAe thA+c t\nh
JavaScript
i?A ch^a gi; tr) hiHn th4i cfa
*+t phbn t6 HTMLI@AttonY
checX@o.Y pa55Qor,...J
clicXIJ c;ch th^c
JavaScript
Mn tT vi<c X\ch vo *+t
phbn t6 trHn Wor* I@AttonY
checX@o.Ypa55Qor,J
on#licX thA+c t\nh
JavaScript
Th 5a Xi<n cho 5a Xi<n X\ch
I@AttonY checX@o.Y ra,io
@AttonY re5etY 5election li5tY
5A@*itJ
checXe, thA+c t\nh
JavaScript
1i; tr) Xi(A >oolean *n tT
*+t laa chPn checXIchecX@o.Y
ra,io @AttonJ
,eWaAlt#hecXe
,
thA+c t\nh
JavaScript
i?A ch^a gi; tr) *Vc M)nh
cfa *+t phbn t6 HTML
Ipa55Qor,Y te.tY te.tareaJ
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
/8
WocA5IJ c;ch th^c
JavaScript
Mn tT vi<c con trS t3i *+t
phbn t6 Ipa55Qor,Y te.tY
te.tareaJ
@lArIJ c;ch th^c
JavaScript
Mn tT vi<c con trS r4i XhSi
*+t phbn t6 Ipa55Qor,Y te.tY
te.tareaJ
5electIJ c;ch th^c
JavaScript
Mn tT vi<c laa chPn ,-ng te.t
trong *+t tr4ng Ipa55Qor,Y
te.tY te.tareaJ
onNocA5IJ Th 5a Xi<n Th 5a Xi<n cho 5a Xi<n
`ocuTIpa55Qor,Y 5election
li5tY te.tY te.tareaJ
on>lAr Th 5a Xi<n Th 5a Xi<n cho 5a Xi<n @lAr
Ipa55Qor,Y 5election li5tY te.tY
te.tareaJ
on#hange Th 5a Xi<n Th 5a Xi<n cho 5a Xi<n Xhi gi;
tr) cfa tr4ng thaG Mri
Ipa55Qor,Y 5election li5tY te.tY
te.tareaJ
onSelect Th 5a Xi<n Th 5a Xi<n Xhi ng4i 56 ,7ng
chPn ,-ng te.t trong *+t trl
4ng Ipa55Qor,Y te.tY
te.tareaJ
in,e. thA+c t\nh
JavaScript
L *+t 5D ngAGHn *n tT laa
chPn hi<n th4i trong *+t
nho* laa chPn Ira,io @AttonJ
length thA+c t\nh
JavaScript
SD ngAGHn *n tT trng 5D c;c
laa chPn trong *+t nho* c;c
laa chPn Ira,io @AttonJ
,aWaAtlSelect
e,
thA+c t\nh
JavaScript
1i; tr) >oolean *n tT Xhi co
*+t laa chPn Mdc MVt l
*Vc M)nh I5ele,tion li5tJ
option5 thA+c t\nh
JavaScript
MTng c;c laa chPn trong ,anh
5;ch laa chPn
te.t thA+c t\nh
JavaScript
-ng te.t hi(n th) cho *+t
thnh phbn cfa *enA trong
,anh 5;ch laa chPn
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
R[
T>L th HTML H+p th cho c;c @Tng HTML
T$ th HTML H+p th cho c;c hng cfa *+t
@Tng HTML
T th HTML H+p th cho c;c n cfa *+t
hng trong *+t @Tng HTML
#LS&N thA+c t\nh
HTML
L thA+c t\nh cfa th T *n
tT trong *+t n cfa @Tng co
nhiwA c+t
$kS&N thA+c t\nh
HTML
L thA+c t\nh cfa th T *n
tT trong *+t n cfa @Tng co
nhiwA hng
>$ thA+c t\nh
HTML
L thA+c t\nh cfa th T>L
*n tT M+ r+ng M4ng viwn
cfa @Tng
,ocA*ent.Wor
*5
thA+c t\nh
JavaScript
*Tng cfa c;c MDi tdng Wor*
v3i *+t ,anh 5;ch c;c Wor*
trong *+t ,ocA*ent
5tring.5A@5tri
ngIJ
c;ch th^c
JavaScript
TrT l:i *+t .?A con cfa .?A
5tring tC tha* 5D v) tr\ X` ta
MbA M2n v) tr\ X` ta cADi
Math.oorIJ c;ch th^c
JavaScript
TrT l:i *+t gi; tr) ngAGHn ti2p
theo nhS h]n gi; tr) cfa
tha* 5D Ma vo.
5tring.length thA+c t\nh
JavaScript
1i; tr) ngAGHn cfa 5D th^ ta
X` ta cADi cqng trong .?A
Ttring
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
R1
). *+ hnh &'i t(ng ,-b./ct *od/"0
f'i t(ng vC thuVc tnh
Nh Mj @i2tY *+t MDi tdng trong JavaScript co c;c thA+c t\nh Mi
X* v3i no. >:n co th( trAG nhep M2n c;c thA+c t\nh cfa no @}ng c;ch
gPi {
o@hectNa*e.propertGNa*e
#T tHn MDi tdng v tHn thA+c t\nh MwA nh:G cT*. >:n M)nh
nghga *+t thA+c t\nh @}ng c;ch g;n cho no *+t gi; tr). U\ ,7Y giT 56
co *+t MDi tdng tHn l *G#ar Itrong tr4ng hdp nG giT 56 MDi tdng nG
Mj tsn t:i 5n 5ngJ. >:n co th( lKG c;c thA+c t\nh co tHn *aXeY *o,el
v Gear cfa no nh 5aA{
*G#ar.*aXe Nor,
*G#ar.*o,el MA5tang
*G#ar.Gear '8
#o *+t *Tng lA trF tep hdp c;c gi; tr) tha* chi2A t3i tCng @i2n.
ThA+c t\nh v *Tng trong JavaScript co vAan h< *et thi2t v3i nhaAY
thac ra chng chm Xh;c nhaA vw c;ch giao ti2p v3i cqng *+t cKA trc ,F
li<A. U\ ,7 cng co th( trAG nhep t3i c;c thA+c t\nh cfa MDi tdng *G#ar
= trHn @}ng *Tng nh 5aA{
*G#ar*aXe Nor,
*G#ar*o,el MA5tang
*G#arGear '8
Ei(A *Tng nG Mdc hi(A nh *+t *Tng co XhT npng liHn X2t @=i
*Oi *+t phbn t6 trong Mo MwA co th( liHn X2t M2n *+t gi; tr) .?A
no Mo. 9( *inh ho: vi<c *G Mdc thac hi<n nh th2 noY h* 5aA
M?G 5| hi(n th) c;c thA+c t\nh cfa *+t MDi tdng thnng vAa tha* 5D
vw Xi(A MDi tdng Mo v tHn MDi tdng.
WAnction 5hoQprop5 Io@hY o@hna*eJ

var re5Alt
Wor Ii in o@hJ
re5Altre5Altx o@hna*e x .x ix x o@hi x
~n
retArn re5Alt

Ehoa Toan tinY 9:i hPc ZADc gia H N+i


JavaScript
R2
Ehi gPi h* 5hoQprop5I*G#arY*G#arJ 5| hi<n lHn{
*G#ar.*aXe Nor,
*G#ar.*o,el MA5tang
*G#ar.Gear '8
9go cc &'i t(ng Aei
#T JavaScript clientl5i,e v 5erverl5i,e MwA co *+t 5D MDi tdng Mdc
M)nh nghga tr3c. TAG nhiHnY @:n cng co th( t:o ra nhFng MDi tdng cfa
riHng @:n. Trong JavaScript 1.2Y n2A @:n chm *ADn t:o ra *+t MDi tdng
,AG nhKt cfa *+t Xi(A MDi tdngY @:n co th( t:o no @}ng c;ch 56 ,7ng
Xh=i t:o MDi tdng. HoVc n2A @:n *ADn t:o ra nhiwA c; th( cfa *+t
Xi(A MDi tdngY @:n co th( t:o ra *+t h* .?G ,ang tr3cY 5aA Mo t:o ra
c;c MDi tdng co Xi(A cfa h* Mo @}ng to;n t6 neQ
).1.1. SF dGng 5hhi tgo &'i t(ng
Trong nhFng phiHn @Tn tr3c cfa NavigatorY @:n chm co th( t:o ra *+t
MDi tdng @}ng c;ch 56 ,7ng h* .?G ,ang chng hoVc 56 ,7ng *+t
h* Mdc cAng cKp @=i *+t vi MDi tdng Xh;c M( M:t Mdc *7c M\ch.
TAG nhiHnY trong Navigator 0.[Y @:n co th( t:o ra *+t MDi tdng @}ng c;ch
56 ,7ng *+t Xh=i t:o MDi tdng.>:n 56 ,7ng c;ch nG Xhi @:n chm *ADn
t:o ra *+t c; th( M]n l ch^ Xhnng phTi nhiwA c; th( cfa MDi tdng.
# ph;p M( t:o ra *+t MDi tdng @}ng c;ch Xh=i t:o MDi tdng I@hect
%nitialier5J{
ob./ct?aA/^yprop/rty1M va"u/1| prop/rty2M va"u/2|
...| prop/rty?M va"u/?z
Trong Mo ob./ct?aA/ l tHn cfa MDi tdng *3iY *Oi prop/rtyJ l
*+t .;c *inh Ico th( l *+t tHnY *+t 5D hoVc *+t .?A X` taJ v *Oi
va"u/J l *+t @i(A th^c * gi; tr) cfa no Mdc g;n cho prop/rtyJ. #o
th( laa chPn Xh=i t:o @}ng tHn MDi tdng hoVc chm @}ng c;c Xhai @;o.
N2A nh @:n Xhnng cbn ,qng M2n MDi tdng Mo trong *Pi chOY @:n Xhnng
cbn phTi g;n no cho *+t @i2n.
N2A *+t MDi tdng Mdc t:o @}ng c;ch Xh=i t:o MDi tdng = *^c cao
nhKtY *Oi lbn MDi tdng Mo .AKt hi<n trong c;c @i(A th^cY JavaScript 5|
M;nh gi; l:i no *+t lbn. Ngoi raY n2A 56 ,7ng vi<c Xh=i t:o nG trong
*+t h* th_ *Oi lbn gPi h*Y MDi tdng 5| Mdc Xh=i t:o *+t lbn
1iT 56 @:n co c?A l<nh 5aA{
i` ,condition0
_^yhiM th/r/.z
Trong tr4ng hdp nGY JavaScript 5| t:o ra *+t MDi tdng v gun no
vo @i2n . n2A @i(A th^c condition Mdc M;nh gi; l Mng
#-n v\ ,7 5aA t:o ra *+t MDi tdng *GHon,a v3i 3 thA+c t\nh{
*GHon,acolor{re,YQheel5{0Yengine{cGlin,er{0Y5ie{2.2
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
R3
#h ` r}ng thA+c t\nh /ngin/ cng l *+t MDi tdng v3i c;c thA+c
t\nh cfa no
Trong Navigator 0.[Y @:n cng co th( 56 ,7ng *+t Xh=i t:o M( t:o
*+t *Tng. # ph;p M( t:o *Tng @}ng c;ch nG Xh;c v3i t:o MDi tdng{
array?aA/^}/"/A/nt$| /"/A/nt1|...|/"/A/nt?~
Trong MoY array?aA/ l tHn cfa *Tng *3iY v *Oi /"/A/ntJ l
gi; tr) cfa phbn t6 = v) tr\ Mo cfa *Tng. Ehi @:n t:o *+t *Tng @}ng
c;ch 56 ,7ng ph]ng ph;p Xh=i t:oY th_ no 5| coi *Oi gi; tr) l *+t phbn
t6 trHn *TngY v chiwA ,i cfa *Tng ch\nh l 5D c;c tha* 5D.
>:n Xhnng cbn phTi chm M)nh r tKt cT c;c phbn t6 trHn *Tng
*3i. N2A @:n MVt hai ,KA phLG vo hngY th_ *Tng 5| Mdc t:o v3i
nhFng chDn trDng cho nhFng phbn t6 cha Mdc M)nh nghga nh v\ ,7 ,l
3i M?G{
N2A *+t *Tng Mdc t:o @}ng c;ch Xh=i t:oIinitialierJ = *^c cao
nhKtY *Oi lbn *Tng Mo .AKt hi<n trong c;c @i(A th^cY JavaScript 5|
M;nh gi; l:i no *+t lbn. Ngoi raY n2A 56 ,7ng vi<c Xh=i t:o nG trong
*+t h* th_ *Oi lbn gPi h*Y *Tng 5| Mdc Xh=i t:o *+t lbn
ZM G[1W T:o *+t *Tng coee5 v3i 3 phbn t6 v M+ ,i cfa *Tng
l 3{
co//T ^ }mqr/nch IoaTtn|n!o"uAbiann|nZonan~
ZM G[ 2W T:o ra *+t *Tng v3i 2 phbn t6 Mdc Xh=i MbA v *+t
phbn t6 rOng{
DTh ^ }m;ionn| |n Surg/onn~
U3i @i(A th^c nGY DTh}$~ l m;ionn| DTh}2~ l n Surg/onY v
DTh}2~ cha Mdc M)nh nghga
).1.2. SF dGng AVt hCA _y dng,!onTtructor qunction0
>:n co th( t:o ra MDi tdng cfa riHng *_nh v3i hai @3c 5aA{
1. 9)nh nghga Xi(A cfa MDi tdng @}ng c;ch vi2t *+t h* .?G
,ang.
2. T:o ra *+t c; th( cfa MDi tdng Mo @}ng to;n t6 n/X
9( M)nh nghga *+t Xi(A MDi tdngY ta phTi t:o ra *+t h* M(
chm M)nh r tHnY c;c thA+c t\nh v c;c c;ch th^c cfa Xi(A MDi tdng
Mo. U\ ,7 giT 56 @:n *ADn t:o *+t Xi(A MDi tdng n tn v3i tHn l carY co
c;c thA+c t\nh Aa5/| Aod/"| y/ar v co"orY M( thac hi<n vi<c nG
co th( vi2t *+t h* nh 5aA{
WAnction carI*aXeY *o,elY Gear J
thi5.*aXe *aXe
thi5.*o,el *o,el
thi5.Gear Gear

Ehoa Toan tinY 9:i hPc ZADc gia H N+i


JavaScript
R0
#h ` vi<c 56 ,7ng to;n t6 thiT M( g;n gi; tr) cho c;c thA+c
t\nh cfa MDi tdng phTi thnng vAa c;c tha* 5D cfa h*.
U\ ,7Y @:n co th( t:o *+t MDi tdng *3i Xi(A car nh 5aA{
*Gcar neQ carIagleYTalon TSiY1883J
#?A l<nh nG 5| t:o ra MDi tdng *Gcar v liHn X2t c;c gi; tr) Mdc
Ma vo v3i c;c thA+c t\nh. Ehi Mo gi; tr) cfa Aycar.Aa5/ l QagECY
gi; tr) cfa Aycar.Aod/" l =aEon =8iY v Aycar.y/ar l *+t 5D
ngAGHn 1883....#^ nh veG @:n co th( t:o ra nhiwA MDi tdng Xi(A car.
M+t MDi tdng cng co th( co nhFng thA+c t\nh * @Tn th?n no
cng l *+t MDi tdng. U\ ,7 @:n M)nh nghga thH* *+t MDi tdng Xh;c l
p/rTon nh 5aA{
WAnction per5onIna*eY ageY 5e.J
thi5.na*ena*e
thi5.ageage
thi5.5e.5e.

U 5aA Mo ta t:o ra hai ng4i *3i{


ranX neQ per5onI$anX McEinnonY33YMJ
Xen neQ per5onIEen JohnY38YMJ
>?G gi4 @:n M)nh nghga l:i h* .?G ,ang car nh 5aA{
WAnction carI*aXeY *o,elY GearYoQner J
thi5.*aXe *aXe
thi5.*o,el *o,el
thi5.Gear Gear
thi5.oQner oQner

Nh veG @:n co th( t:o MDi tdng Xi(A car *3i{


car1 neQ carIagleYTalon TSiY1883YranXJ
car2 neQ carINi55anY3[[iY1882YXenJ
Nh veGY thaG v_ phTi vAa *+t .?A X` ta haG *+t gi; tr) 5D Xhi t:o MDi
tdngY ta chm cbn Ma hai MDi tdng Mj Mdc t:o = c?A l<nh trHn vo ,-ng
tha* 5D cfa MDi tdng *3i t:o. Ta cng co th( lKG Mdc thA+c t\nh cfa
MDi tdng oQner @}ng c?A lHnh 5aA{
car2.oQner.na*e
#h ` r}ng @:n cng co th( t:o ra *+t thA+c t\nh *3i cho MDi tdng tr3c
Xhi M)nh nghga noY v\ ,7{
car1.color@lacX
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
R5
Nh veGY thA+c t\nh coEor cfa MDi tdng car1 Mdc g;n l bEack. TAG
nhiHnY no 5| Xhnng g?G t;c M+ng t3i @Kt Xz *+t MDi tdng Xi(A car no
Xh;c. N2A *ADn thH* thA+c t\nh cho tKt cT c;c MDi tdng th_ phTi
M)nh nghga l:i h* .?G ,ang MDi tdng.
).1.. ;@p AGc "Gc cho cc thuVc tnh cRa &'i t(ng
Trong Navigator 2.[Y @:n co th( gPi thA+c t\nh cfa *+t MDi tdng
@}ng tHn thA+c t\nh hoVc @}ng 5D th^ ta cfa no. TAG nhiHn tC
Navigator 3.[ tr= MiY n2A @an MbA @:n M)nh nghga *+t thA+c t\nh
@}ng tHn cfa noY @:n 5| lAnn lAnn phTi gPi no @}ng tHnY v n2A @:n
M)nh nghga *+t thA+c t\nh @}ng chm 5D th_ @:n cng lAnn lAnn phTi
gPi t3i no @}ng chm 5D.
9iwA nG ^ng ,7ng Xhi @:n t:o *+t MDi tdng v3i nhFng thA+c t\nh
cfa chng @}ng h* .?G ,ang Inh v\ ,7 vw Xi(A MDi tdng car = phbn
tr3cJ v Xhi @:n M)nh nghga nhFng thA+c t\nh cfa riHng *+t MDi tdng
Inh *Gcar.colorre,J. U_ veG n2A @:n M)nh nghga c;c thA+c t\nh
cfa MDi tdng ngaG tC MbA @}ng chm 5D nh *Gcar525 *pgY @:n co
th( lbn ldt gPi t3i c;c thA+c t\nh Xh;c nh *Gcar5.
TAG nhiHn MiwA nG l Xhnng Mng MDi v3i nhFng MDi tdng t]ng
^ng cfa HTML nh *Tng Wor*. >:n co th( gPi t3i c;c MDi tdng trong *Tng
@=i 5D th^ ta hoVc tHn cfa chng. U\ ,7 th <N$M! th^ hai trong *+t
,ocA*ent co thA+c t\nh NM l *GWor* th_ @:n co th( gPi t3i Wor*
Mo @}ng ,ocA*ent.Wor*1 hoVc ,ocA*ent.Wor**GNor* hoVc
,ocA*ent.*GNor*
).1.%. fanh nghsa thSA cc thuVc tnh cho AVt 5iu &'i t(ng
>:n co th( thH* thA+c t\nh cho *+t Xi(A MDi tdng Mj Mdc M)nh
nghga tr3c @}ng c;ch 56 ,7ng thA+c t\nh propertG. ThA+c t\nh Mdc
M)nh nghga nG Xhnng chm co t;c ,7ng MDi v3i *+t MDi tdng * co t;c
,7ng MDi v3i tKt cT c;c MDi tdng Xh;c cqng Xi(A.U\ ,7 5aA thac hi<n
thH* thA+c t\nh co"or cho tKt cT c;c MDi tdng Xi(A carY 5aA Mo gun
*+t gi; tr) *A cho thA+c t\nh co"or cfa MDi tdng car1M
car.prototGpe.colornAll
car1.colorre,
).1.). fanh nghsa cc cch thc
M+t c;ch th^c l *+t h* Mdc liHn X2t v3i *+t MDi tdng. >:n M)nh
nghga *+t c;ch th^c cng co nghga l @:n M)nh nghga *+t h*
chALn. >:n co th( 56 ,7ng c ph;p 5aA M( gun *+t h* cho *+t MDi
tdng Mang tsn t:i{
ob./ct.A/thodnaA/ ^ `unctioncnaA/
Trong Mo o@hect l MDi tdng Mang tsn t:iY *etho,na*e l tHn c;ch
th^c v WAnctionna*e l tHn h*
>:n co th( gPi c;ch th^c nG tC MDi tdng nh 5aA{
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
R'
ob./ct.A/thodnaA/,OthaA T'Q0
>:n co th( M)nh nghga c;ch th^c cho *+t Xi(A MDi tdng @}ng
c;ch Ma c;ch th^c Mo vo trong h* .?G ,ang MDi tdng. U\ ,7 @:n co
th( M)nh nghga *+t h* co th( M)nh ,:ng v hi(n th) c;c thA+c
t\nh cfa c;c MDi tdng Xi(A car Mj .?G ,ang = phbn tr3c{
WAnction ,i5plaG#ar IJ
var re5Alt @eaAtiWAlxthi5.Gearx x thi5.*aXe x x
thi5.*o,el
,ocA*ent.QriteIre5AltJ

>:n co th( thH* c;ch th^c nG vo cho MDi tdng car @}ng c;ch
thH* ,-ng l<nh 5aA vo h* M)nh nghga MDi tdng
thi5.,i5plaG#ar ,i5plaG#ar
Nh veG co th( M)nh nghga l:i MDi tdng car nh 5aA{
WAnction carI*aXeY *o,elY GearYoQner J
thi5.*aXe *aXe
thi5.*o,el *o,el
thi5.Gear Gear
thi5.oQner oQner
thi5.,i5plaG#ar ,i5plaG#ar

SaA MoY @:n co th( gPi c;ch th^c ,i5plaG#ar MDi v3i *Oi MDi tdng{
car1.,i5plaG#arIJ
car2.,i5plaG#arIJ
).1.6. SF dGng cho cc thaA chi6u &'i t(ng ,-b./ct
I/`/r/nc/T0
JavaScript co *+t tC Xho; MVc @i<t l thiT * @:n co th( 56
,7ng no cqng v3i *+t c;ch th^c M( gPi t3i MDi tdng hi<n th4i. U\ ,7Y giT
56 @:n co *+t h* vali,ate ,qng M( .;c nhen gi; tr) thA+c t\nh cfa
*+t MDi tdng n}* trong *+t XhoTng no Mo{
WAnction vali,ateIo@hY loQvalY hivalJ
iW I Io@h.valAe<loQ,ateJIo@h.valAe!hivalJ J
alertI%nvali, valAeJ

SaA Mo @:n co th( gPi h* va"idat/ tC *Oi th 5a Xi<n


on!hang/{
<%N&cT T&TiT NM1 S%3
on#hangevali,ateIthi5Y1RY88J !
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
R/
Ehi liHn X2t v3i *+t thA+c t\nh Wor*Y tC Xho; thiT co th( gPi t3i
Wor* cha cfa MDi tdng hi<n th4i. Trong v\ ,7 5aAY AyqorA co ch^a MDi
tdng 9/_t v *+t nt @K*. Ehi ng4i 56 ,7ng X\ch vo nt @K*Y tr4ng
te.t 5| hi(n th) tHn Wor*. Th 5a Xi<n on#licX cfa nt @K* 56 ,7ng
thiT.`orA M( gPi t3i Wor* cha l AyqorA.
<N$M NM*GNor*!
Nor* na*e{<%N&cT T&te.t NMte.t1
ULc>elAga!
<&!
<%N&cT T&@Atton NM@Atton1
valAeShoQ Nor* Na*e
on#licXthi5.Wor*.te.t1.valAethi5.Wor*.na*e!
<"N$M!
).1.1. Xo &'i t(ng
Trong JavaScript cho Navigator 2.[Y @:n Xhnng th( .o; c;c MDi tl
dnglchng vtn tsn t:i trong Xhi @:n Mj r4i XhSi trang Mo. Trong Xhi
JavaScript cho Navigator 3.[ cho phyp @:n co th( .o; *+t MDi tdng
@}ng c;ch MVt cho no trS t3i gi; tr) NAll In2A nh Mo l lbn cADi cqng
gPi t3i MDi tdngJ. JavaScript 5| Mong MDi tdng Mo ngaG lep t^c thnng vAa
@i(A th^c g;n.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
RR
6. 23ng t4ng 56t cc t7 5ho
SaA M?G l c;c tC Maoc M)nh nghga l *+t phbn trong ngnn ngF
JavaScript v Xhnng Mdc 56 ,7ng l tHn @i2n{
abTtract /va" int Ttatic
boo"/an /_t/ndT int/r`ac/ Tup/r
br/a5 `a"T/ "ong TXitch
byt/ Dna" nativ/ Tynchrini/
d
caT/ Dna""y n/X thiT
catch oat nu"" throX
char `or pac5ag/ throXT
c"aTT `unction parT/q"oat tranTi/nt
conTt goto parT/Jnt tru/
continu/ i` privat/ try
d/`au"t iAp"/A/nt
T
prot/ct/d var
do iAport pub"ic void
doub"/ in r/turn Xhi"/
/"T/ inTtanc/o` Thort Xith
Ehoa Toan tinY 9:i hPc ZADc gia H N+i
JavaScript
R8
1. 94ng 56t
Nh veGY ti li<A Xhnng nhFng Mj gi3i thiHA 5] vAa vw JavaScriptY * no
c-n l 5;ch tha* XhTo h2t 5^c hFA \ch M( ph;t tri(n ^ng ,7ng cfa
@:n.
>:n co th( tha* XhTo ton ,i<n JavaScript trong vAG(n =Cach
ZoursCED 7a4a8cri,t in K[ \a%sY hoVc 7a4a8cri,t ]uidC
o JavaScript l ngnn ngF c-n *3i v co 5a thaG Mri nhanh chongY @:n
nHn M2n v3i trang ke@ cfa hjng Net5cape I http{""QQQ.net5cape.co* J
M( co c;c thnng tin *3i nhKt vw ngnn ngF nG.
Ehoa Toan tinY 9:i hPc ZADc gia H N+i

S-ar putea să vă placă și