ngôn ngữ lập trình JavaScript
lượt xem 104
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: ngôn ngữ lập trình JavaScript
- 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ø cha 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, nhng 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Ö. Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 2 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 3 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ö Chó ý: dông cÆp thÎ vµ . C¸c Ghi chó kh«ng ®îc thÎ cã thÓ xuÊt hiÖn trong phÇn ®Æt trong cÆp thÎ hay cña file HTML. NÕu ®Æt nh ghi trong phÇn , nã sÏ ®îc t¶i vµ s½n chó trong file sµng tríc khi phÇn cßn l¹i cña v¨n b¶n ®îc HTML. Có ph¸p cña t¶i. JavaScript t¬ng tù có ph¸p cña C nªn Thuéc tÝnh duy nhÊt ®îc ®Þnh nghÜa hiÖn cã thÓ sö dông // thêi cho thÎ lµ “LANGUAGE=“ hay /* ... */. dïng ®Ó x¸c ®Þnh ng«n 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:
- JavaScript 4 // This is where the hidden ends > 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. 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 Chó ý ®îc chøa bÊt kú thÎ HTML nµo. Chóng chØ ®îc chøa c¸c c©u lÖnh JavaScript Khi b¹n muèn chØ ra mét x©u trÝch dÉn vµ ®Þnh nghÜa hµm. trong mét x©u kh¸c cÇn Tªn file cña c¸c hµm JavaScript bªn sö dông dÊu nh¸y ®¬n ( ngoµi cÇn cã ®u«i .js, vµ server sÏ ' ) ®Ó ph©n ®Þnh x©u ph¶i ¸nh x¹ ®u«i .js ®ã tíi kiÓu MIME ®ã. §iÒu nµy cho phÐp script nhËn ra x©u ký application/xjavascript. §ã lµ nh÷ng 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/xjavascript 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. Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 5 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. 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 6 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. §è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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 7 Ouputting Text This text is plain. VÝ dô: Sù kh¸c nhau cña write() vµ writeln(): Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 8 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ô: 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 9 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. 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi tªn
- JavaScript 10 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. 2.5. §iÓm l¹i c¸c lÖnh vµ më réng LÖnh/Më réng KiÓu M« t¶ thÎ HTML Hép chøa c¸c lÖnh JavaScript SCRIPT SRC Thuéc Gi÷ ®Þa chØ cña file JavaScript bªn tÝnh cña ngoµi. File nµy ph¶i cã phÇn ®u«i .js thÎ SCRIPT LANGUAGE thuéc §Þnh râ ng«n ng÷ script ®îc sö dông tÝnh cña (JavaScript hoÆc VBScript) thÎ SCRIPT // Ghi chó §¸nh dÊu ghi chó mét dßng trong ®o¹n trong script Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 11 JavaScrip t Ghi chó §¸nh dÊu ghi chó mét khèi trong ®o¹n /*...*/ trong script JavaScrip t c¸ch thøc XuÊt ra mét x©u trªn cöa sæ hiÖn thêi document.write() JavaScrip mét c¸ch tuÇn tù theo file HTML cã t ®o¹n script ®ã C¸ch thøc T¬ng tù c¸ch thøc document.write() document.writeln JavaScrip nhng viÕt xong tù xuèng dßng. () t C¸ch thøc HiÓn thÞ mét dßng th«ng b¸o trªn hép alert() cña héi tho¹i JavaScrip t C¸ch thøc HiÓn thÞ mét dßng th«ng b¸o trong hép promt() JavaScrip héi tho¹i ®ång thêi cung cÊp mét tr t ê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 12 Ch¬ng 3 BiÕn trong JavaScript 3.1. BiÕn vµ ph©n lo¹I biÕn Tªn bi n trong J Õ avaScri t ph¶i b¾ t ® Çu p b»ng ch÷ hay dÊu g ¹ch díi. C¸c ch÷ sè kh«ng ®î sö dông ® Ó ë ® Çu c m tªn m ét Õ n nh bi ng cã thÓ sö dông sau ký tù ® Çu tiªn . Ph ¹ vi cñ a bi n cã thÓ l m ét m Õ µ 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 Chó ý kh«ng thay ®æi. Sau ®©y lµ c¸c vÝ dô vÒ Kh¸c víi C, tõ tè: trong JavaScript kh«ng cã kiÓu 8 h»ng sè CONST ®Ó “The dog ate my shoe” biÓu diÔn mét gi¸ trÞ kh«ng true 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 13 < / TM L> H C¸c tr× nh duyÖ t h ç trî JavaScri t sÏ xö l ch Ýnh x¸c vÝ dô p ý trªn vµ ®a ra kÕ t qu¶ díi ® © y: Tr nh di n dÞch J × Ô avaScri t sÏ xem bi n num f it cã ki u p Õ ru Ó nguyªn kh i céng v íi 20 vµ cã ki u chu ç i kh i kÕ t h î v íi bi n Ó p Ó tem p. Trong JavaScri t, cã bèn ki u d÷ li u sau ® © y: kiÓu sè p Ó Ö 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. H×nh 3.1: KÕt qu¶ cña xö lý d÷ liÖu Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 14 1.1.2. KiÓu dÊu phÈy ®éng (Floating Point) M ét lite ra l cã ki u dÊu phÈy ® éng cã 4 th µ nh phÇ n sau: Ó • PhÇ n nguyªn th Ë p ph© n. • D Êu chÊm th Ë p ph© n (.). • PhÇ n d. • PhÇ n m ò. §Ó ph© n Ö t ki u dÊu phÈy ® éng v íi ki u sè nguyªn , ph¶i cã bi Ó Ó Ý t nhÊ t m ét ÷ sè theo sau dÊu chÊm hay E. VÝ dô: ch 9.87 0.85E4 9.87E14 .98E3 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 15 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 î c¸c lite ra l, bi n vµ c¸c to¸n tö nh»m ® ¸nh gi m ét p Õ ¸ gi trÞ nµo ® ã ®î gä i l m ét Ó u thøc (expressi ). VÒ c¬ ¸ c µ bi on b¶n cã ba ki u bi u thøc trong J Ó Ó avaScri t: p • 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 16 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 µ m ét è to¸n tö so s¸nh trong J l s avaScri t: p == 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 17 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 ®î sö dông v íi chu ç i, to¸n tö + ®îc coi lµ kÕt hîp hai c 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¸ expr1 && expr2 trÞ ®óng nÕu c¶ expr1 vµ expr2 cïng ®óng. Lµ to¸n tö logic OR, tr¶ l¹i gi¸ expr1 || expr2 trÞ ®óng nÕu Ýt nhÊt mét trong hai expr1 vµ expr2 ®óng. Lµ to¸n tö logic NOT phñ ®Þnh gi¸ ! expr 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: Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 18 To¸n tö dÞch tr¸i. D Þch chuyÓ n to¸n h ¹ng tr¸i sang > ph¶i m ét è lî bi b»ng to¸n h ¹ng ph¶i C¸c bi s ng t . t bÞ chuyÓ n sang ph¶i bÞ m Êt vµ dÊu cñ a to¸n h ¹ng bªn tr¸i ®î gi nguyªn . V Ý dô : 16> > 2 trë th µ nh 4 c ÷ (sè nhÞ ph© n 10000 trë th µ nh sè nhÞ ph© n 100) To¸n tö dÞch ph¶i cã ch Ì 0. D Þch chuyÓ n to¸n h ¹ng n >>> tr¸i sang ph¶i m ét sè lî bi b»ng to¸n h ¹ng ng t ph¶i B i dÊu ®î dÞch chuyÓ n tõ tr¸i (g i ng > > ). . t c è Nh÷ ng bi ®î dÞch sang ph¶i bÞ xo¸ ® i V Ý dô : t c . 8> >> 2 trë th µ nh 1073741822 (b ë i c¸c bi dÊu ® ∙ t trë th µ nh m ét phÇ n cña sè ). TÊ t nhi v íi sè d¬ ng ªn kÕ t qu¶ cñ a to¸n tö > > vµ > >> l gi ng nhau. µ è C ã m ét è to¸n tö dÞch chuyÓ n bi i ró t gän: s tw se KiÓu bitwise th«ng KiÓu bitwise rót thêng gän x = 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
- JavaScript 19 2. f. (7 = 5) && (5 > 5) h. (7 > = 5) || (5 > 5) 2.1.8. Tr¶ lêi C¸c bi u thøc ®î ® ¸nh gi nh sau: Ó c ¸ 1. a. 12 b. "75" c. true d. true e. true 2. f. 5 g. f l a se h. true Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- JavaScript 20 3. C¸c lÖnh C ã thÓ ch i c¸c l nh cñ a J a Ö avaScri t th µ nh ba nhãm sau: p • 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 ùa trªn kÕ t qu¶ cñ a quyÕ t ® Þnh. Ö Ö d avaScri t, c© u l nh ® i u ki n l if...else Trong J p Ö Ò Ö µ 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Đề cương bài giảng môn học Lập trình mạng
139 p | 609 | 250
-
Lap trinh Javascript lam web dong don gian
24 p | 384 | 181
-
Tài liệu Lập trình Web với HTML5, CSS3 và JavaScript
0 p | 512 | 156
-
Ngôn ngữ lập trình JavaScript
72 p | 380 | 124
-
AS - Ngôn ngữ lập trình được xây dựng trong Flash
150 p | 322 | 108
-
Giáo trình ngôn ngữ lập trình AS
149 p | 234 | 96
-
Giáo trình môn học Javascript
79 p | 192 | 94
-
Giáo trình Thiết kế và lập trình Web với ASP: Phần 2
168 p | 269 | 92
-
Ngôn ngữ lập trình JavarScript và hướng dẫn tự học : Phần 1
163 p | 234 | 59
-
Ngôn ngữ lập trình AS
149 p | 189 | 50
-
LẬP TRÌNH WEB Chương 7: AJAX
16 p | 138 | 37
-
Javascript Nền Tảng
40 p | 117 | 29
-
JAVASCRIPT & DOM HTML
55 p | 101 | 18
-
JavaScript JavaScrip
0 p | 105 | 8
-
Giáo trình Thiết kế và lập trình Web - Đại học Kinh doanh và Công nghệ Hà Nội
123 p | 75 | 8
-
Bài giảng Thiết kế và lập trình Website: Chương 0 - ThS. Dương Thành Phết
13 p | 73 | 6
-
Bài giảng Lập trình viên mã nguồn mở (Module 2) - Bài 2: JavaScript cơ bản
16 p | 58 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn