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

NHẬP MÔN JAVASCRIPT

Chia sẻ: Huy Hoang | Ngày: | Loại File: PDF | Số trang:80

583
lượt xem
223
download
 
  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: NHẬP MÔN JAVASCRIPT

  1. JavaScript 1 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
  2. JavaScript 2 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 Ghi chó kh«ng ®−îc ®Æt trong cÆp thÎ HTML. NÕu ®Æt trong phÇn , nã sÏ ®−îc t¶i vμ nh− ghi s½n sμng tr−íc khi 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 tù có ph¸p cña C lμ LANGUAGE= dïng ®Ó x¸c ®Þnh ng«n nªn cã thÓ sö dông 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
  3. JavaScript 3 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 Chó ý kú 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ã mét x©u kh¸c cÇn sö dông dÊu nh¸y ®¬n ( ' ) ®u«i .js, vμ server sÏ ph¶i ¸nh x¹ ®u«i .js ®ã tíi kiÓu®Ó ph©n ®Þnh x©u ®ã. MIME application/x-javascript. §ã lμ §iÒu nμy cho phÐp nh÷ng g× mμ server göi trë l¹i phÇn Header cña file script nhËn ra x©u ký tù ®ã. 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, Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
  4. JavaScript 4 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. 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
  5. JavaScript 5 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 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
  6. JavaScript 6 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
  7. JavaScript 7 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ô 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 Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
  8. JavaScript 8 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 ); H×nh2.1: HiÓn thÞ cöa sæ nhËp tªn Khi duyÖt cã kÕt qu¶: 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
  9. JavaScript 9 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 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 Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
  10. JavaScript 10 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
  11. JavaScript 11 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. Chó ý Sau ®©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 ®Ó biÓu diÔn mét true 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
  12. JavaScript 12 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. Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
  13. JavaScript 13 • DÊu chÊm thËp ph©n (.). • 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
  14. JavaScript 14 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
  15. JavaScript 15 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
  16. JavaScript 16 "abc" + "xyz" ®−îc "abcxyz" 2.1.5. Logic JavaScript hç trî c¸c to¸n tö logic sau ®©y: expr1 && expr2 Lμ to¸n tö logic AND, tr¶ l¹i gi¸ trÞ ®óng nÕu c¶ expr1 vμ expr2 cïng ®óng. 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 Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
  17. JavaScript 17 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 g. false h. true Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
  18. JavaScript 18 3. C¸c lÖnh Cã thÓ chia c¸c lÖnh cña JavaScript thμnh ba nhãm sau: • LÖnh ®iÒu kiÖn. • LÖnh lÆp. • LÖnh th¸o t¸c trªn ®èi t−îng. C©u lÖnh ®iÒu kiÖn C©u lÖnh ®iÒu kiÖn cho phÐp ch−¬ng tr×nh ra quyÕt ®Þnh vμ thùc hiÖn c«ng viÖc nμo ®Êy dùa trªn kÕt qu¶ cña quyÕt ®Þnh. Trong JavaScript, c©u lÖnh ®iÒu kiÖn lμ if...else if ... else C©u lÖnh nμy cho phÐp b¹n kiÓm tra ®iÒu kiÖn vμ thùc hiÖn mét nhãm lÖnh nμo ®Êy dùa trªn kÕt qu¶ cña ®iÒu kiÖn võa kiÓm tra. Nhãm lÖnh sau else kh«ng b¾t buéc ph¶i cã, nã cho phÐp chØ ra nhãm lÖnh ph¶i thùc hiÖn nÕu ®iÒu kiÖn lμ sai. Có ph¸p if ( ) { //C¸c c©u lÖnh víi ®iÒu kiÖn ®óng } else { //C¸c c©u lÖnh víi ®iÒu kiÖn sai } VÝ dô: if (x==10){ document.write(“x b»ng 10, ®Æt l¹i x b»ng 0.”); x = 0; } else document.write(“x kh«ng b»ng 10.”); Chó ý Ký tù { vμ } ®−îc sö dông ®Ó t¸ch c¸c khèi m·. Khoa Toan tin, §¹i häc Quèc gia Hμ Néi
  19. JavaScript 19 C©u lÖnh lÆp C©u lÖnh lÆp thÓ hiÖn viÖc lÆp ®i lÆp l¹i mét ®o¹n m· cho ®Õn khi biÓu thøc ®iÒu kiÖn ®−îc ®¸nh gi¸ lμ ®óng. JavaScipt cung cÊp hai kiÓu c©u lÖnh lÆp: • for loop • while loop 3.1.1. Vßng lÆp for Vßng lÆp for thiÕt lËp mét biÓu thøc khëi ®Çu - initExpr, sau ®ã lÆp mét ®o¹n m· cho ®Õn khi biÓu thøc ®−îc ®¸nh gi¸ lμ ®óng. Sau khi kÕt thóc mçi vßng lÆp, biÓu thøc incrExpr ®−îc ®¸nh gi¸ l¹i. Có ph¸p: for (initExpr; ; incrExpr){ //C¸c lÖnh ®−îc thùc hiÖn trong khi lÆp } VÝ dô: For loop Example for (x=1; x
  20. JavaScript 20 Vßng lÆp nμy sÏ thùc hiÖn khèi m· lÖnh cho ®Õn khi x>10. 3.1.2. while Vßng lÆp while lÆp khèi lÖnh chõng nμo cßn ®−îc ®¸nh gi¸ lμ ®óng Có ph¸p: while () { //C¸c c©u lÖnh thùc hiÖn trong khi lÆp } VÝ dô: x=1; while (x
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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