intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình về môn JavaScript

Chia sẻ: Danh Ngoc | Ngày: | Loại File: PDF | Số trang:82

236
lượt xem
125
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Javascript là một ngôn ngữ thông dịch (interpreter), chương trình nguồn của nó được nhúng (embedded) hoặc tích hợp (integated) vào tập tin HTML chuẩn. Khi file được load trong Browser ( có support cho JavaScript), browser sẽ thông dịch các Script và thực hiện các công việc xác định. Chương trình nguồn JavaScript được thông dịch trong trang HLMT sau khi toàn bộ trang được load nhưng trước khi được hiển. Javascript là một ngôn ngữ có đặc tính: - Đơn giản. - Động (Dynamic). - Hướng đối tượng (Object Oriented)....

Chủ đề:
Lưu

Nội dung Text: Giáo trình về môn JavaScript

  1. Giáo trình JavaScript
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2