Xem mẫu
- Giáo trình JavaScript
- JavaScript 1
Gi¸o tr×nh JavaScript
***
ch−¬ng 1 Lêi nãi ®Çu................................................................................................................ 4
Ch−¬ng 2 NhËp m«n JavaScript ........................................................................................... 5
2.1.Nhóng JavaScript vμo file HTML...................................................................................... 5
2.3. ThÎ vμ ................................................................................. 6
2.3. HiÓn thÞ mét dßng text ..................................................................................................... 7
2.4. Giao tiÕp víi ng−êi sö dông............................................................................................. 9
2.5. §iÓm l¹i c¸c lÖnh vμ më réng ........................................................................................ 12
Ch−¬ng 3 BiÕn trong JavaScript ...................................................................................... 13
3.1. BiÕn vμ ph©n lo¹I biÕn ................................................................................................... 13
3.2. BiÓu diÔn tõ tè trong JavaScript .................................................................................... 13
3.3. KiÓu d÷ liÖu.................................................................................................................... 13
1.1.1. KIÓu nguyªn (Interger).......................................................................................... 14
1.1.2. KiÓu dÊu phÈy ®éng (Floating Point) .................................................................... 14
1.1.3. KiÓu logic (Boolean) ............................................................................................. 15
1.1.4. KiÓu chuçi (String) ................................................................................................ 15
2. X©y dùng c¸c biÓu thøc trong JavaScript .................................................... 16
®Þnh nghÜa vμ ph©n lo¹I biÓu thøc .................................................................................... 16
C¸c to¸n tö (operator)........................................................................................................ 16
2.1.1. G¸n ....................................................................................................................... 16
2.1.2. So s¸nh................................................................................................................. 16
2.1.3. Sè häc................................................................................................................... 17
2.1.4. Chuçi .................................................................................................................... 17
2.1.5. Logic ..................................................................................................................... 17
2.1.6. Bitwise .................................................................................................................. 18
Bμi tËp .......................................................................................................................................... 19
2.1.7. C©u hái ................................................................................................................. 19
2.1.8. Tr¶ lêi.................................................................................................................... 19
3. C¸c lÖnh ........................................................................................................................ 20
C©u lÖnh ®iÒu kiÖn................................................................................................................... 20
C©u lÖnh lÆp.............................................................................................................................. 21
3.1.1. Vßng lÆp for .......................................................................................................... 21
3.1.2. while...................................................................................................................... 22
3.1.3. Break .................................................................................................................... 22
3.1.4. continue ................................................................................................................ 22
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 2
C¸c c©u lÖnh thao t¸c trªn ®èi t−îng ......................................................................... 23
3.1.5. for...in.................................................................................................................... 23
3.1.6. new ....................................................................................................................... 24
3.1.7. this ........................................................................................................................ 26
3.1.8. with ....................................................................................................................... 26
C¸c hμm (Functions)............................................................................................................... 27
C¸c hμm cã s½n ........................................................................................................................ 29
3.1.9. eval ....................................................................................................................... 29
3.1.10. parseInt................................................................................................................. 30
3.1.11. parseFloat............................................................................................................. 31
M¶ng (Array) ............................................................................................................................. 32
Sù kiÖn ......................................................................................................................................... 34
Bμi tËp .......................................................................................................................................... 37
3.1.12. C©u hái ................................................................................................................. 37
3.1.13. Tr¶ lêi.................................................................................................................... 39
4. C¸c ®èi t−îng trong JavaScript ....................................................................... 42
§èi t−îng navigator ............................................................................................................. 44
§èi t−îng window................................................................................................................... 45
4.1.1. C¸c thuéc tÝnh....................................................................................................... 45
4.1.2. C¸c ph−¬ng thøc .................................................................................................. 46
4.1.3. C¸c ch−¬ng tr×nh xö lý sù kiÖn.............................................................................. 47
§èi t−îng location................................................................................................................ 47
§èi t−îng frame...................................................................................................................... 48
4.1.4. C¸c thuéc tÝnh....................................................................................................... 48
4.1.5. C¸c ph−¬ng thøc .................................................................................................. 48
4.1.6. Sö dông Frame ..................................................................................................... 48
§èi t−îng document ............................................................................................................. 50
4.1.7. C¸c thuéc tÝnh....................................................................................................... 51
4.1.8. C¸c ph−¬ng thøc .................................................................................................. 51
§èi t−îng anchors ................................................................................................................ 51
§èi t−îng forms ..................................................................................................................... 52
4.1.9. C¸c thuéc tÝnh....................................................................................................... 52
4.1.10. C¸c ph−¬ng thøc .................................................................................................. 52
4.1.11. C¸c ch−¬ng tr×nh xö lý sù kiÖn.............................................................................. 52
§èi t−îng history .................................................................................................................. 53
4.1.12. C¸c thuéc tÝnh....................................................................................................... 53
4.1.13. C¸c ph−¬ng thøc .................................................................................................. 53
§èi t−îng links ........................................................................................................................ 53
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 3
4.1.14. C¸c thuéc tÝnh....................................................................................................... 53
4.1.15. C¸c ch−¬ng tr×nh xö lý sù kiÖn.............................................................................. 54
§èi t−îng Math ........................................................................................................................ 54
4.1.16. C¸c thuéc tÝnh....................................................................................................... 54
4.1.17. C¸c ph−¬ng thøc .................................................................................................. 54
§èi t−îng Date......................................................................................................................... 55
4.1.18. C¸c ph−¬ng thøc .................................................................................................. 55
§èi t−îng String..................................................................................................................... 56
4.1.19. C¸c ph−¬ng thøc .................................................................................................. 56
C¸c phÇn tö cña ®èi t−îng Form...................................................................................... 57
4.1.20. Thuéc tÝnh type ..................................................................................................... 58
4.1.21. PhÇn tö button ...................................................................................................... 58
4.1.22. PhÇn tö checkbox ................................................................................................. 59
4.1.23. PhÇn tö File Upload .............................................................................................. 61
4.1.24. PhÇn tö hidden ..................................................................................................... 61
4.1.25. PhÇn tö Password ................................................................................................ 61
4.1.26. PhÇn tö radio ........................................................................................................ 62
4.1.27. PhÇn tö reset ........................................................................................................ 64
4.1.28. PhÇn tö select ....................................................................................................... 64
5. M« h×nh ®èi t−îng (Object Model) ..................................................................... 74
§èi t−îng vμ thuéc tÝnh ...................................................................................................... 74
T¹o c¸c ®èi t−îng míi .......................................................................................................... 75
5.1.1. Sö dông khëi t¹o ®èi t−îng................................................................................... 75
5.1.2. Sö dông mét hμm x©y dùng(Constructor Function).............................................. 76
5.1.3. LËp môc lôc cho c¸c thuéc tÝnh cña ®èi t−îng ..................................................... 77
5.1.4. §Þnh nghÜa thªm c¸c thuéc tÝnh cho mét kiÓu ®èi t−îng....................................... 78
5.1.5. §Þnh nghÜa c¸c c¸ch thøc ..................................................................................... 78
5.1.6. Sö dông cho c¸c tham chiÕu ®èi t−îng (Object References)............................... 79
5.1.7. Xo¸ ®èi t−îng ....................................................................................................... 79
6. B¶ng tæng kÕt c¸c tõ kho¸ .................................................................................. 80
7. Tæng kÕt ........................................................................................................................ 81
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 4
ch−¬ng 1 Lêi nãi ®Çu
Víi HTML and Microsoft FrontPage b¹n ®· biÕt c¸ch t¹o ra trang Web - tuy nhiªn chØ
míi ë møc biÓu diÔn th«ng tin chø ch−a ph¶i lμ c¸c trang Web ®éng cã kh¶ n¨ng ®¸p øng
c¸c sù kiÖn tõ phÝa ng−êi dïng. H·ng Netscape ®· ®−a ra ng«n ng÷ script cã tªn lμ
LiveScript ®Ó thùc hiÖn chøc n¨ng nμy. Sau ®ã ng«n ng÷ nμy ®−îc ®æi tªn thμnh JavaScript
®Ó tËn dông tÝnh ®¹i chóng cña ng«n ng÷ lËp tr×nh Java. MÆc dï cã nh÷ng ®iÓm t−¬ng
®ång gi÷a Java vμ JavaScript, nh−ng chóng vÉn lμ hai ng«n ng÷ riªng biÖt.
JavaScript lμ ng«n ng÷ d−íi d¹ng script cã thÓ g¾n víi c¸c file HTML. Nã kh«ng ®−îc
biªn dÞch mμ ®−îc tr×nh duyÖt diÔn dÞch. Kh«ng gièng Java ph¶i chuyÓn thμnh c¸c m· dÔ
biªn dÞch, tr×nh duyÖt ®äc JavaScript d−íi d¹ng m· nguån. ChÝnh v× vËy b¹n cã thÓ dÔ
dμng häc JavaScript qua vÝ dô bëi v× b¹n cã thÓ thÊy c¸ch sö dông JavaScript trªn c¸c
trang Web.
JavaScript lμ ng«n ng÷ dùa trªn ®èi t−îng, cã nghÜa lμ bao gåm nhiÒu kiÓu ®èi t−îng, vÝ dô
®èi t−îng Math víi tÊt c¶ c¸c chøc n¨ng to¸n häc. Tuy vËy JavaScript kh«ng lμ ng«n ng÷
h−íng ®èi t−îng nh− C++ hay Java do kh«ng hç trî c¸c líp hay tÝnh thõa kÕ.
JavaScript cã thÓ ®¸p øng c¸c sù kiÖn nh− t¶i hay lo¹i bá c¸c form. Kh¶ n¨ng nμy cho phÐp
JavaScript trë thμnh mét ng«n ng÷ script ®éng.
Gièng víi HTML vμ Java, JavaScript ®−îc thiÕt kÕ ®éc lËp víi hÖ ®iÒu hμnh. Nã cã thÓ
ch¹y trªn bÊt kú hÖ ®iÒu hμnh nμo cã tr×nh duyÖt hç trî JavaScript. Ngoμi ra JavaScript
gièng Java ë khÝa c¹nh an ninh: JavaScript kh«ng thÓ ®äc vμ viÕt vμo file cña ng−êi dïng.
C¸c tr×nh duyÖt web nh− Nescape Navigator 2.0 trë ®i cã thÓ hiÓn thÞ nh÷ng c©u lÖnh
JavaScript ®−îc nhóng vμo trang HTML. Khi tr×nh duyÖt yªu cÇu mét trang, server sÏ göi
®Çy ®ñ néi dung cña trang ®ã, bao gåm c¶ HTML vμ c¸c c©u lÖnh JavaScript qua m¹ng tíi
client. Client sÏ ®äc trang ®ã tõ ®Çu ®Õn cuèi, hiÓn thÞ c¸c kÕt qu¶ cña HTML vμ xö lý c¸c
c©u lÖnh JavaScript khi nμo chóng xuÊt hiÖn.
C¸c c©u lÖnh JavaScript ®−îc nhóng trong mét trang HTML cã thÓ tr¶ lêi cho c¸c sù kiÖn
cña ng−êi sö dông nh− kÝch chuét, nhËp vμo mét form vμ ®iÒu h−íng trang. VÝ dô b¹n cã
thÓ kiÓm tra c¸c gi¸ trÞ th«ng tin mμ ng−êi sö dông ®−a vμo mμ kh«ng cÇn ®Õn bÊt cø mét
qu¸ tr×nh truyÒn trªn m¹ng nμo. Trang HTML víi JavaScript ®−îc nhóng sÏ kiÓm tra c¸c
gi¸ trÞ ®−îc ®−a vμo vμ sÏ th«ng b¸o víi ng−êi sö dông khi gi¸ trÞ ®−a vμo lμ kh«ng hîp lÖ.
Môc ®Ých cña phÇn nμy lμ giíi thiÖu vÒ ng«n ng÷ lËp tr×nh JavaScript ®Ó b¹n cã thÓ viÕt
c¸c script vμo file HTML cña m×nh.
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 5
Ch−¬ng 2 NhËp m«n JavaScript
2.1.Nhóng JavaScript vμo file HTML
B¹n cã thÓ nhóng JavaScript vμo mét file HTML theo mét trong c¸c c¸ch sau ®©y:
• Sö dông c¸c c©u lÖnh vμ c¸c hμm trong cÆp thÎ
• Sö dông c¸c file nguån JavaScript
• Sö dông mét biÓu thøc JavaScript lμm gi¸ trÞ cña mét thuéc tÝnh HTML
• Sö dông thÎ sù kiÖn (event handlers) trong mét thÎ HTML nμo ®ã
Trong ®ã, sö dông cÆp thÎ ... vμ nhóng mét file nguån JavaScript
lμ ®−îc sö dông nhiÒu h¬n c¶.
2.1.1.Sö dông thÎ SCRIPT
Script ®−îc ®−a vμo file HTML b»ng c¸ch sö dông cÆp thÎ
Chó ý:
vμ . C¸c thÎ cã thÓ xuÊt
hiÖn trong phÇn hay cña file HTML. NÕu Ghi chó kh«ng ®−îc
®Æt trong cÆp thÎ
®Æt trong phÇn , nã sÏ ®−îc t¶i vμ s½n sμng tr−íc khi nh− ghi
phÇn cßn l¹i cña v¨n b¶n ®−îc t¶i. chó trong file
HTML. Có ph¸p cña
Thuéc tÝnh duy nhÊt ®−îc ®Þnh nghÜa hiÖn thêi cho thÎ JavaScript t−¬ng
lμ “LANGUAGE=“ dïng ®Ó x¸c ®Þnh ng«n ng÷ tù có ph¸p cña C
nªn cã thÓ sö dông
script ®−îc sö dông. Cã hai gi¸ trÞ ®−îc ®Þnh nghÜa lμ // hay /* ... */.
"JavaScript" vμ "VBScript". Víi ch−¬ng tr×nh viÕt b»ng
JavaScript b¹n sö dông có ph¸p sau :
// INSERT ALL JavaScript HERE
§iÓm kh¸c nhau gi÷a có ph¸p viÕt c¸c ghi chó gi÷a HTML vμ JavaScript lμ cho phÐp b¹n
Èn c¸c m· JavaScript trong c¸c ghi chó cña file HTML, ®Ó c¸c tr×nh duyÖt cò kh«ng hç trî
cho JavaScript cã thÓ ®äc ®−îc nã nh− trong vÝ dô sau ®©y:
Dßng cuèi cïng cña script cÇn cã dÊu // ®Ó tr×nh duyÖt kh«ng diÔn dÞch dßng nμy d−íi
d¹ng m· JavaScript. C¸c vÝ dô trong ch−¬ng nμy kh«ng chøa ®Æc ®iÓm Èn cña JavaScript
®Ó m· cã thÓ dÔ hiÓu h¬n.
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 6
2.1.2. Sö dông mét file nguån JavaScript
Thuéc tÝnh SRC cña thÎ cho phÐp b¹n chØ râ file nguån JavaScript ®−îc sö
dông (dïng ph−¬ng ph¸p nμy hay h¬n nhóng trùc tiÕp mét ®o¹n lÖnh JavaScript vμo trang
HTML).
Có ph¸p:
....
Thuéc tÝnh nμy rÊy h÷u dông cho viÖc chia sÎ c¸c hμm dïng chung cho nhiÒu trang kh¸c
nhau. C¸c c©u lÖnh JavaScript n»m trong cÆp thÎ vμ cã chøa thuéc
tinh SRC trõ khi nã cã lçi. VÝ dô b¹n muèn ®−a dßng lÖnh sau vμo gi÷a cÆp thÎ vμ :
document.write("Kh«ng t×m thÊy file JS ®−a vμo!");
Thuéc tÝnh SRC cã thÓ ®−îc ®Þnh râ b»ng ®Þa chØ URL, c¸c liªn kÕt hoÆc c¸c ®−êng dÉn
tuyÖt ®èi, vÝ dô:
C¸c file JavaScript bªn ngoμi kh«ng ®−îc chøa bÊt kú
Chó ý
thÎ HTML nμo. Chóng chØ ®−îc chøa c¸c c©u lÖnh
JavaScript vμ ®Þnh nghÜa hμm. Khi b¹n muèn chØ ra
mét x©u trÝch dÉn trong
Tªn file cña c¸c hμm JavaScript bªn ngoμi cÇn cã ®u«i mét x©u kh¸c cÇn sö
.js, vμ server sÏ ph¶i ¸nh x¹ ®u«i .js ®ã tíi kiÓu MIME dông dÊu nh¸y ®¬n ( ' )
®Ó ph©n ®Þnh x©u ®ã.
application/x-javascript. §ã lμ nh÷ng g× §iÒu nμy cho phÐp
mμ server göi trë l¹i phÇn Header cña file HTML. §Ó script nhËn ra x©u ký
¸nh x¹ ®u«i nμy vμo kiÓu MIME, ta thªm dßng sau vμo tù ®ã.
file mime.types trong ®−êng dÉn cÊu h×nh cña server, sau ®ã khëi ®éng l¹i server:
type=application/x-javascript
NÕu server kh«ng ¸nh x¹ ®−îc ®u«i .js tíi kiÓu MIME application/x-javascript ,
Navigator sÏ t¶i file JavaScript ®−îc chØ ra trong thuéc tÝnh SRC vÒ kh«ng ®óng c¸ch.
Trong vÝ dô sau, hμm bar cã chøa x©u "left" n»m trong mét cÆp dÊu nh¸y kÐp:
function bar(widthPct){
document.write(" ")
}
2.3. ThÎ vμ
CÆp thÎ nμy dïng ®Ó ®Þnh râ néi dung th«ng b¸o cho ng−êi sö dông biÕt tr×nh duyÖt kh«ng
hç trî JavaScript. Khi ®ã tr×nh duyÖt sÏ kh«ng hiÓu thÎ vμ nã bÞ lê ®i, cßn
®o¹n m· n»m trong cÆp thÎ nμy sÏ ®−îc Navigator hiÓn thÞ. Ng−îc l¹i, nÕu tr×nh duyÖt cã
hç trî JavaScript th× ®o¹n m· trong cÆp thÎ sÏ ®−îc bá qua. Tuy nhiªn, ®iÒu
nμy còng cã thÓ x¶y ra nÕu ng−êi sö dông kh«ng sö dông JavaScript trong tr×nh duyÖt cña
m×nh b»ng c¸ch t¾t nã ®i trong hép Preferences/Advanced.
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 7
VÝ dô:
Trang nμy cã sö dông JavaScript. Do ®ã b¹n cÇn sö dông tr×nh duyÖt Netscape
Navigator tõ version 2.0 trë ®i!
H·y kÝch chuét vμo ®©y ®Ó t¶i vÒ phiªn b¶n Netscape míi h¬n
NÕu b¹n ®· sö dông tr×nh duyÖt Netscape tõ 2.0 trë ®i mμ vÉn ®äc ®−îc dßng ch÷ nμy th×
h·y bËt Preferences/Advanced/JavaScript lªn
H×nh 2.3: Minh ho¹ thÎ NOSCRIPT
2.3. HiÓn thÞ mét dßng text
Trong hÇu hÕt c¸c ng«n ng÷ lËp tr×nh, mét trong nh÷ng kh¶ n¨ng c¬ së lμ hiÓn thÞ ra mμn
h×nh mét dßng text. Trong JavaScript, ng−êi lËp tr×nh còng cã thÓ ®iÒu khiÓn viÖc xuÊt ra
mμn h×nh cña client mét dßng text tuÇn tù trong file HTML. JavaScript sÏ x¸c ®Þnh ®iÓm
mμ nã sÏ xuÊt ra trong file HTML vμ dßng text kÕt qu¶ sÏ ®−îc dÞch nh− c¸c dßng HTML
kh¸c vμ hiÓn thÞ trªn trang.
H¬n n÷a, JavaScript cßn cho phÐp ng−êi lËp tr×nh sinh ra mét hép th«ng b¸o hoÆc x¸c
nhËn gåm mét hoÆc hai nót. Ngoμi ra, dßng text vμ c¸c con sè cßn cã thÓ hiÓn thÞ trong
tr−êng TEXT vμ TEXTAREA cña mét form.
Trong phÇn nμy, ta sÏ häc c¸ch thøc write() vμ writeln() cña ®èi t−îng document.
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 8
§èi t−îng document trong JavaScript ®−îc thiÕt kÕ s½n hai c¸ch thøc ®Ó xuÊt mét dßng
text ra mμn h×nh client: write() vμ writeln(). C¸ch gäi mét c¸ch thøc cña mét ®èi
t−îng nh− sau:
object_name.property_name
D÷ liÖu mμ c¸ch thøc dïng ®Ó thùc hiÖn c«ng viÖc cña nã ®−îc ®−a vμo dßng tham sè, vÝ
dô:
document.write("Test");
document.writeln('Test');
C¸ch thøc write() xuÊt ra mμn h×nh x©u Text nh−ng kh«ng xuèng dßng, cßn c¸ch thøc writeln()
sau khi viÕt xong dßng Text tù ®éng xuèng dßng. Hai c¸ch thøc nμy ®Òu cho phÐp xuÊt ra thÎ
HTML.
VÝ dô: C¸ch thøc write() xuÊt ra thÎ HTML
Ouputting Text
This text is plain.
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 9
VÝ dô: Sù kh¸c nhau cña write() vμ writeln():
Khi duyÖt sÏ ®−îc kÕt qu¶:
H×nh 2.5: Sù kh¸c nhau cña write() vμ writeln()
2.4. Giao tiÕp víi ng−êi sö dông
JavaScript hç trî kh¶ n¨ng cho phÐp ng−êi lËp tr×nh t¹o ra mét hép héi tho¹i. Néi dung cña
hép héi tho¹i phô thuéc vμo trang HTML cã chøa ®o¹n script mμ kh«ng lμm ¶nh h−ëng
®Õn viÖc xuÊt néi dung trang.
C¸ch ®¬n gi¶n ®Ó lμm viÖc ®ã lμ sö dông c¸ch thøc alert(). §Ó sö dông ®−îc c¸ch thøc nμy,
b¹n ph¶i ®−a vμo mét dßng text nh− khi sö dông document.write() vμ document.writeln()
trong phÇn tr−íc. VÝ dô:
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 10
alert("NhÊn vμo OK ®Ó tiÕp tôc");
Khi ®ã file sÏ chê cho ®Õn khi ng−êi sö dông nhÊn vμo nót OK råi míi tiÕp tôc thùc hiÖn
Th«ng th−êng, c¸ch thøc alert() ®−îc sö dông trong c¸c tr−êng hîp:
• Th«ng tin ®−a vμ form kh«ng hîp lÖ
• KÕt qu¶ sau khi tÝnh to¸n kh«ng hîp lÖ
• Khi dÞch vô ch−a s½n sμng ®Ó truy nhËp d÷ liÖu
Tuy nhiªn c¸ch thøc alert() míi chØ cho phÐp th«ng b¸o víi ng−êi sö dông chø ch−a
thùc sù giao tiÕp víi ng−êi sö dông. JavaScript cung cÊp mét c¸ch thøc kh¸c ®Ó giao tiÕp
víi ng−êi sö dông lμ promt(). T−¬ng tù nh− alert(), prompt() t¹o ra mét hép héi tho¹i
víi mét dßng th«ng b¸o do b¹n ®−a vμo, nh−ng ngoμi ra nã cßn cung cÊp mét tr−êng ®Ó
nhËp d÷ liÖu vμo. Ng−êi sö dông cã thÓ nhËp vμo tr−êng ®ã råi kÝch vμo OK. Khi ®ã, ta cã
thÓ xö lý d÷ liÖu do ng−êi sö dông võa ®−a vμo.
VÝ dô: Hép héi tho¹i gåm mét dßng th«ng b¸o, mét tr−êng nhËp d÷ liÖu, mét nót OK vμ
mét nót Cancel
Ch−¬ng tr×nh nμy sÏ hái tªn ng−êi dïng vμ sau ®ã sÏ hiÓn thÞ mét th«ng b¸o ng¾n sö dông
tªn míi ®−a vμo. VÝ dô ®−îc l−u vμo file Hello.html
JavaScript Exemple
var name=window.prompt( Hello! What s your name ? , );
document.write( Hello + name + ! I hope you like JavaScript );
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 11
Khi duyÖt cã kÕt qu¶:
H×nh2.1: HiÓn thÞ cöa sæ nhËp tªn
VÝ dô nμy hiÓn thÞ dÊu nh¾c nhËp vμo tªn víi ph−¬ng thøc window.prompt. Gi¸ trÞ ®¹t
®−îc sÏ ®−îc ghi trong biÕn cã tªn lμ name.
BiÕn name ®−îc kÕt hîp víi c¸c chuçi kh¸c vμ ®−îc hiÓn thÞ trong cöa sæ cña tr×nh duyÖt
nhê ph−¬ng thøc document.write.
H×nh 2.2: HiÓn thÞ lêi chμo ng−êi nhËp
B©y giê b¹n ®· cã ý t−ëng vÒ c¸c chøc n¨ng cã thÓ ®¹t ®−îc qua JavaScript, chóng ta h·y
tiÕp tôc t×m hiÓu thªm vÒ chÝnh ng«n ng÷ nμy.
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 12
2.5. §iÓm l¹i c¸c lÖnh vμ më réng
LÖnh/Më réng KiÓu M« t¶
SCRIPT thÎ HTML Hép chøa c¸c lÖnh JavaScript
SRC Thuéc tÝnh Gi÷ ®Þa chØ cña file JavaScript bªn ngoμi. File nμy
cña thÎ ph¶i cã phÇn ®u«i .js
SCRIPT
LANGUAGE thuéc tÝnh §Þnh râ ng«n ng÷ script ®−îc sö dông (JavaScript
cña thÎ hoÆc VBScript)
SCRIPT
// Ghi chó trong §¸nh dÊu ghi chó mét dßng trong ®o¹n script
JavaScript
/*...*/ Ghi chó trong §¸nh dÊu ghi chó mét khèi trong ®o¹n script
JavaScript
document.write() c¸ch thøc XuÊt ra mét x©u trªn cöa sæ hiÖn thêi mét c¸ch
JavaScript tuÇn tù theo file HTML cã ®o¹n script ®ã
document.writeln() C¸ch thøc T−¬ng tù c¸ch thøc document.write() nh−ng viÕt
JavaScript xong tù xuèng dßng.
alert() C¸ch thøc HiÓn thÞ mét dßng th«ng b¸o trªn hép héi tho¹i
cña
JavaScript
promt() C¸ch thøc HiÓn thÞ mét dßng th«ng b¸o trong hép héi tho¹i
JavaScript ®ång thêi cung cÊp mét tr−êng nhËp d÷ liÖu ®Ó
ng−êi sö dông nhËp vμo.
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 13
Ch−¬ng 3 BiÕn trong JavaScript
3.1. BiÕn vμ ph©n lo¹I biÕn
Tªn biÕn trong JavaScript ph¶i b¾t ®Çu b»ng ch÷ hay dÊu g¹ch d−íi. C¸c ch÷ sè kh«ng
®−îc sö dông ®Ó më ®Çu tªn mét biÕn nh−ng cã thÓ sö dông sau ký tù ®Çu tiªn.
Ph¹m vi cña biÕn cã thÓ lμ mét trong hai kiÓu sau:
• BiÕn toμn côc: Cã thÓ ®−îc truy cËp tõ bÊt kú ®©u trong øng dông.
®−îc khai b¸o nh− sau :
x = 0;
• BiÕn côc bé: ChØ ®−îc truy cËp trong ph¹m vi ch−¬ng tr×nh mμ nã khai b¸o.
BiÕn côc bé ®−îc khai b¸o trong mét hμm víi tõ kho¸ var nh− sau:
var x = 0;
BiÕn toμn côc cã thÓ sö dông tõ kho¸ var, tuy nhiªn ®iÒu nμy kh«ng thùc sù cÇn thiÕt.
3.2. BiÓu diÔn tõ tè trong JavaScript
Tõ tè lμ c¸c gi¸ trÞ trong ch−¬ng tr×nh kh«ng thay ®æi. Sau Chó ý
®©y lμ c¸c vÝ dô vÒ tõ tè:
Kh¸c víi C,
8 trong JavaScript
kh«ng cã kiÓu
“The dog ate my shoe” h»ng sè CONST ®Ó
true biÓu diÔn mét
gi¸ trÞ kh«ng
®æi nμo ®Êy
3.3. KiÓu d÷ liÖu
Kh¸c víi C++ hay Java, JavaScript lμ ng«n ng÷ cã tÝnh ®Þnh kiÓu thÊp. §iÒu nμy cã nghÜa
lμ kh«ng ph¶i chØ ra kiÓu d÷ liÖu khi khai b¸o biÕn. KiÓu d÷ liÖu ®−îc tù ®éng chuyÓn
thμnh kiÓu phï hîp khi cÇn thiÕt.
VÝ dô file Variable.Html:
Datatype Example
var fruit='apples';
var numfruit=12;
numfruit = numfruit + 20;
var temp ="There are " + numfruit + " " + ".";
document.write(temp);
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 14
C¸c tr×nh duyÖt hç trî JavaScript sÏ xö lý chÝnh x¸c vÝ dô trªn vμ ®−a ra kÕt qu¶ d−íi ®©y:
Tr×nh diÔn dÞch JavaScript sÏ xem biÕn numfruit cã kiÓu nguyªn khi céng víi 20 vμ cã
kiÓu chuçi khi kÕt hîp víi biÓn temp.
Trong JavaScript, cã bèn kiÓu d÷ liÖu sau ®©y: kiÓu sè nguyªn, kiÓu dÊu phÈy ®éng, kiÓu
logic vμ kiÓu chuçi.
1.1.1. KIÓu nguyªn (Interger)
Sè nguyªn cã thÓ ®−îc biÓu diÔn theo ba c¸ch:
• HÖ c¬ sè 10 (hÖ thËp ph©n) - cã thÓ biÓu diÔn sè nguyªn theo c¬ sè 10, chó
ý r»ng ch÷ sè ®Çu tiªn ph¶i kh¸c 0.
• HÖ c¬ sè 8 (hÖ b¸t ph©n) - sè nguyªn cã thÓ biÓu diÔn d−íi d¹ng b¸t ph©n
víi ch÷ sè ®Çu tiªn lμ sè 0.
• HÖ c¬ sè 16 (hÖ thËp lôc ph©n) - sè nguyªn cã thÓ biÓu diÔn d−íi d¹ng thËp
lôc ph©n víi hai ch÷ sè ®Çu tiªn lμ 0x.
1.1.2. KiÓu dÊu phÈy ®éng (Floating Point)
Mét literal cã kiÓu dÊu phÈy ®éng cã 4 thμnh phÇn sau:
H×nh 3.1: KÕt qu¶ cña xö lý d÷ liÖu
• PhÇn nguyªn thËp ph©n.
• DÊu chÊm thËp ph©n (.).
• PhÇn d−.
• PhÇn mò.
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 15
§Ó ph©n biÖt kiÓu dÊu phÈy ®éng víi kiÓu sè nguyªn, ph¶i cã Ýt nhÊt mét ch÷ sè theo sau
dÊu chÊm hay E. VÝ dô:
9.87
-0.85E4
9.87E14
.98E-3
1.1.3. KiÓu logic (Boolean)
KiÓu logic ®−îc sö dông ®Ó chØ hai ®iÒu kiÖn : ®óng hoÆc sai. MiÒn gi¸ trÞ cña kiÓu nμy chØ
cã hai gi¸ trÞ
• true.
• false.
1.1.4. KiÓu chuçi (String)
Mét literal kiÓu chuçi ®−îc biÓu diÔn bëi kh«ng hay nhiÒu ký tù ®−îc ®Æt trong cÆp dÊu "
... " hay '... '. VÝ dô:
“The dog ran up the tree”
‘The dog barked’
“100”
§Ó biÓu diÔn dÊu nh¸y kÐp ( " ), trong chuçi sö dông ( \" ), vÝ dô:
document.write(“ \”This text inside quotes.\” ”);
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 16
2. X©y dùng c¸c biÓu thøc trong JavaScript
®Þnh nghÜa vμ ph©n lo¹I biÓu thøc
TËp hîp c¸c literal, biÕn vμ c¸c to¸n tö nh»m ®¸nh gi¸ mét gi¸ trÞ nμo ®ã ®−îc gäi lμ mét
biÓu thøc (expression). VÒ c¬ b¶n cã ba kiÓu biÓu thøc trong JavaScript:
• Sè häc: Nh»m ®Ó l−îng gi¸ gi¸ trÞ sè. VÝ dô (3+4)+(84.5/3) ®−îc ®¸nh gi¸
b»ng 197.1666666667.
• Chuçi: Nh»m ®Ó ®¸nh gi¸ chuçi. VÝ dô "The dog barked" + barktone + "!" lμ
The dog barked ferociously!.
• Logic: Nh»m ®¸nh gi¸ gi¸ trÞ logic. VÝ dô temp>32 cã thÓ nhËn gi¸ trÞ sai.
JavaScript còng hç trî biÓu thøc ®iÒu kiÖn, có ph¸p nh− sau:
(condition) ? valTrue : valFalse
NÕu ®iÒu kiÖn condition ®−îc ®¸nh gi¸ lμ ®óng, biÓu thøc nhËn gi¸ trÞ
valTrue, ng−îc l¹i nhËn gi¸ trÞ valFalse. VÝ dô:
state = (temp>32) ? "liquid" : "solid"
Trong vÝ dô nμy biÕn state ®−îc g¸n gi¸ trÞ "liquid" nÕu gi¸ trÞ cña biÕn temp
lín h¬n 32; trong tr−êng hîp ng−îc l¹i nã nhËn gi¸ trÞ "solid".
C¸c to¸n tö (operator)
To¸n tö ®−îc sö dông ®Ó thùc hiÖn mét phÐp to¸n nμo ®ã trªn d÷ liÖu. Mét to¸n tö cã thÓ
tr¶ l¹i mét gi¸ trÞ kiÓu sè, kiÓu chuçi hay kiÓu logic. C¸c to¸n tö trong JavaScript cã thÓ
®−îc nhãm thμnh c¸c lo¹i sau ®©y: g¸n, so s¸nh, sè häc, chuçi, logic vμ logic bitwise.
2.1.1. G¸n
To¸n tö g¸n lμ dÊu b»ng (=) nh»m thùc hiÖn viÖc g¸n gi¸ trÞ cña to¸n h¹ng bªn ph¶i cho
to¸n h¹ng bªn tr¸i. Bªn c¹nh ®ã JavaScript cßn hç trî mét sè kiÓu to¸n tö g¸n rót gän.
KiÓu g¸n th«ng th−êng KiÓu g¸n rót gän
x=x+y x+=y
x=x-y x-=y
x=x*y x*=y
x=x/y x/=y
x=x%y x%=y
2.1.2. So s¸nh
Ng−êi ta sö dông to¸n tö so s¸nh ®Ó so s¸nh hai to¸n h¹ng vμ tr¶ l¹i gi¸ trÞ ®óng hay sai
phô thuéc vμo kÕt qu¶ so s¸nh. Sau ®©y lμ mét sè to¸n tö so s¸nh trong JavaScript:
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 17
== Tr¶ l¹i gi¸ trÞ ®óng nÕu to¸n h¹ng bªn tr¸i b»ng to¸n h¹ng bªn ph¶i
!= Tr¶ l¹i gi¸ trÞ ®óng nÕu to¸n h¹ng bªn tr¸i kh¸c to¸n h¹ng bªn ph¶i
> Tr¶ l¹i gi¸ trÞ ®óng nÕu to¸n h¹ng bªn tr¸i lín h¬n to¸n h¹ng bªn ph¶i
>= Tr¶ l¹i gi¸ trÞ ®óng nÕu to¸n h¹ng bªn tr¸i lín h¬n hoÆc b»ng to¸n
h¹ng bªn ph¶i
< Tr¶ l¹i gi¸ trÞ ®óng nÕu to¸n h¹ng bªn tr¸i nhá h¬n to¸n h¹ng bªn
ph¶i
- JavaScript 18
expr1 || expr2 Lμ to¸n tö logic OR, tr¶ l¹i gi¸ trÞ ®óng nÕu Ýt nhÊt
mét trong hai expr1 vμ expr2 ®óng.
! expr Lμ to¸n tö logic NOT phñ ®Þnh gi¸ trÞ cña expr.
2.1.6. Bitwise
Víi c¸c to¸n tö thao t¸c trªn bit, ®Çu tiªn gi¸ trÞ ®−îc chuyÓn d−íi d¹ng sè nguyªn 32 bit,
sau ®ã lÇn l−ît thùc hiÖn c¸c phÐp to¸n trªn tõng bit.
& To¸n tö bitwise AND, tr¶ l¹i gi¸ trÞ 1 nÕu c¶ hai bit cïng lμ 1.
| To¸n tö bitwise OR, tr¶ l¹i gi¸ trÞ 1 nÕu mét trong hai bit lμ 1.
^ To¸n tö bitwise XOR, tr¶ l¹i gi¸ trÞ 1 nÕu hai bit cã gi¸ trÞ kh¸c nhau
Ngoμi ra cßn cã mét sè to¸n tö dÞch chuyÓn bitwise. Gi¸ trÞ ®−îc chuyÓn thμnh sè nguyªn
32 bit tr−íc khi dÞch chuyÓn. Sau khi dÞch chuyÓn, gi¸ trÞ l¹i ®−îc chuyÓn thμnh kiÓu cña
to¸n h¹ng bªn tr¸i. Sau ®©y lμ c¸c to¸n tö dÞch chuyÓn:
>2 trë thμnh 4 (sè nhÞ ph©n
10000 trë thμnh sè nhÞ ph©n 100)
>>> To¸n tö dÞch ph¶i cã chÌn 0. DÞch chuyÓn to¸n h¹ng tr¸i sang ph¶i mét sè
l−îng bit b»ng to¸n h¹ng ph¶i. Bit dÊu ®−îc dÞch chuyÓn tõ tr¸i (gièng >>).
Nh÷ng bit ®−îc dÞch sang ph¶i bÞ xo¸ ®i. VÝ dô: -8>>>2 trë thμnh
1073741822 (bëi c¸c bit dÊu ®· trë thμnh mét phÇn cña sè). TÊt nhiªn víi
sè d−¬ng kÕt qu¶ cña to¸n tö >> vμ >>> lμ gièng nhau.
Cã mét sè to¸n tö dÞch chuyÓn bitwise rót gän:
KiÓu bitwise th«ng th−êng KiÓu bitwise rót gän
x = x y x - >> y
x = x >>> y x >>> = y
x=x&y x&=y
x=x^y x^=y
x=x|y x|=y
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
- JavaScript 19
Bμi tËp
2.1.7. C©u hái
H·y ®¸nh gi¸ c¸c biÓu thøc sau:
1. a. 7 + 5
b. "7" + "5"
c. 7 == 7
d. 7 >= 5
e. 7 = 5) && (5 > 5)
h. (7 >= 5) || (5 > 5)
2.1.8. Tr¶ lêi
C¸c biÓu thøc ®−îc ®¸nh gi¸ nh− sau:
1. a. 12
b. "75"
c. true
d. true
e. true
2. f. 5
g. false
h. true
Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
nguon tai.lieu . vn