intTypePromotion=1

Tài liệu về Javascript

Chia sẻ: Vu Tien DUNG | Ngày: | Loại File: DOC | Số trang:87

0
94
lượt xem
26
download

Tài liệu về Javascript

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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...

Chủ đề:
Lưu

Nội dung Text: Tài liệu về Javascript

  1. JavaScript 1 Gi¸o tr×nh JavaScript *** ch¬ng 1 Lêi nãi ®Çu........................................................................................................................ 3 Ch¬ng 2 NhËp m«n JavaScript....................................................................................................... 4 Ch¬ng 3 BiÕn trong JavaScript..................................................................................................... 13 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 Bµi tËp 19 3. C¸c lÖnh.................................................................................................................................... 21 C©u lÖnh ®iÒu kiÖn.................................................................................................................... 21 C©u lÖnh lÆp.............................................................................................................................. 22 C¸c c©u lÖnh thao t¸c trªn ®èi tîng............................................................................................... 24 C¸c hµm (Functions)...................................................................................................................... 29 C¸c hµm cã s½n............................................................................................................................ 31 M¶ng (Array)................................................................................................................................. 34 Sù kiÖn 36 Bµi tËp 40 4. C¸c ®èi tîng trong JavaScript.................................................................................................. 44 §èi tîng navigator........................................................................................................................... 48 §èi tîng window.............................................................................................................................. 49 §èi tîng location............................................................................................................................. 51 §èi tîng frame................................................................................................................................ 52 §èi tîng document.......................................................................................................................... 55 §èi tîng anchors............................................................................................................................. 56 §èi tîng forms................................................................................................................................. 57 §èi tîng history............................................................................................................................... 58 §èi tîng links.................................................................................................................................. 58 §èi tîng Math.................................................................................................................................. 59 §èi tîng Date.................................................................................................................................. 60 §èi tîng String................................................................................................................................ 61 C¸c phÇn tö cña ®èi tîng Form...................................................................................................... 62 5. M« h×nh ®èi tîng (Object Model)............................................................................................ 80 §èi tîng vµ thuéc tÝnh.................................................................................................................... 80 T¹o c¸c ®èi tîng míi....................................................................................................................... 81 6. B¶ng tæng kÕt c¸c tõ kho¸...................................................................................................... 86 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  2. JavaScript 2 7. Tæng kÕt.................................................................................................................................. 87 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  3. JavaScript 3 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
  4. JavaScript 4 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Î < SCRIPT>... 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Ó Ghi chó kh«ng ®îc xuÊt hiÖn trong phÇn hay cña file ®Æt trong cÆp thÎ nh ghi chó trong s½n sµng tríc khi phÇn cßn l¹i cña v¨n b¶n ®îc t¶i. file HTML. Có ph¸p cña JavaScript t¬ng tù có Thuéc tÝnh duy nhÊt ®îc ®Þnh nghÜa hiÖn thêi cho thÎ ph¸p cña C nªn cã thÓ lµ “LANGUAGE=“ dïng ®Ó x¸c ®Þnh ng«n sö dông // hay /* ... */. ng÷ script ®îc sö dông. Cã hai gi¸ trÞ ® îc ®Þnh nghÜa lµ "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
  5. JavaScript 5 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Î < SCRIPT> 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 Chó ý kú thÎ HTML nµo. Chóng chØ ®îc chøa c¸c c©u Khi b¹n muèn chØ ra mét lÖnh JavaScript vµ ®Þnh nghÜa hµm. x©u trÝch dÉn trong mét Tªn file cña c¸c hµm JavaScript bªn ngoµi cÇn cã x©u kh¸c cÇn sö dông dÊu ®u«i .js, vµ server sÏ ph¶i ¸nh x¹ ®u«i .js ®ã tíi nh¸y ®¬n ( ' ) ®Ó ph©n ®Þnh x©u ®ã. §iÒu nµy cho phÐp kiÓu MIME application/x-javascript. §ã lµ nh÷ng script nhËn ra x©u ký tù ®ã. g× mµ server göi trë l¹i phÇn Header cña file HTML. §Ó ¸nh x¹ ®u«i nµy vµo kiÓu MIME, ta thªm dßng sau vµo 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· Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  6. JavaScript 6 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. 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. Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  7. JavaScript 7 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. §è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 nhng 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
  8. JavaScript 8 VÝ dô: Sù kh¸c nhau cña write() vµ writeln(): Khi duyÖt sÏ ®îc kÕt qu¶: Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  9. JavaScript 9 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ô: 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ô cha 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ø cha 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, nhng 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. Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  10. JavaScript 10 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 lu 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 ”); 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. Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  11. JavaScript 11 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. 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 cña thÎ nµy 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() nhng 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  12. JavaScript 12 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
  13. 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 nhng 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. Chó ý Sau ®©y lµ c¸c vÝ dô vÒ tõ tè: Kh¸c víi C, trong 8 JavaScript kh«ng cã kiÓu h»ng sè CONST “The dog ate my shoe” ®Ó biÓu diÔn mét gi¸ trÞ kh«ng ®æi true 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
  14. 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 (.). Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  15. JavaScript 15 • PhÇn d. • PhÇn mò. §Ó 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
  16. 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  17. JavaScript 17 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: == 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
  18. JavaScript 18 2.1.4. Chuçi Chó ý NÕu b¹n g¸n gi¸ trÞ cña to¸n tö ++ hay -- vµo mét biÕn, nh y= x++, cã thÓ cã c¸c kÕt qu¶ kh¸c nhau phô thuéc vµo vÞ trÝ xuÊt hiÖn tr íc hay sau cña ++ hay -- víi tªn biÕn (lµ x trong trêng hîp nµy). NÕu ++ ®øng tr íc x, x sÏ ®îc t¨ng hoÆc gi¶m tríc khi gi¸ trÞ x ®îc g¸n cho y. NÕu ++ hay -- ®øng sau x, gi¸ trÞ cña x ® îc g¸n cho y tríc khi nã ®îc t¨ng hay gi¶m. Khi ®îc sö dông víi chuçi, to¸n tö + ®îc coi lµ kÕt hîp hai chuçi, vÝ dô: "abc" + "xyz" ®îc "abcxyz" 2.1.5. Logic JavaScript hç trî c¸c to¸n tö logic sau ®©y: Lµ to¸n tö logic AND, tr¶ l¹i gi¸ trÞ ®óng nÕu c¶ expr1 && expr2 expr1 vµ expr2 cïng ®óng. Lµ to¸n tö logic OR, tr¶ l¹i gi¸ trÞ ®óng nÕu Ýt expr1 || expr2 nhÊt mét trong hai expr1 vµ expr2 ®óng. Lµ to¸n tö logic NOT phñ ®Þnh gi¸ trÞ cña expr. ! 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: To¸n tö dÞch tr¸i. DÞch chuyÓn to¸n h¹ng tr¸i sang tr¸i mét sè l îng bit >2 trë thµnh 4 (sè nhÞ ph©n 10000 trë thµnh sè nhÞ ph©n 100) Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  19. JavaScript 19 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 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
  20. JavaScript 20 g. false h. true Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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