Đăng ký Đăng nhập

Tài liệu Tài liệu javascript

.PDF
79
357
106

Mô tả:

tài liệu _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Ö. 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 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Î 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Î §iÓm kh¸c nhau gi÷a có ph¸p viÕt c¸c ghi chó gi÷a HTML vµ JavaScript lµ cho phÐp b¹n Èn c¸c m· JavaScript trong c¸c ghi chó cña file HTML, ®Ó c¸c tr×nh duyÖt cò kh«ng hç trî cho JavaScript cã thÓ ®äc ®îc nã nh trong vÝ dô sau ®©y: Dßng cuèi cïng cña script cÇn cã dÊu // ®Ó tr×nh duyÖt kh«ng diÔn dÞch dßng nµy díi d¹ng m· JavaScript. C¸c vÝ dô trong ch¬ng nµy kh«ng chøa ®Æc ®iÓm Èn cña JavaScript ®Ó m· cã thÓ dÔ hiÓu h¬n. Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 3 2.1.2. Sö dông mét file nguån JavaScript Thuéc tÝnh SRC cña thÎ 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Î 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Î : 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ô: Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 6 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ô: alert("NhÊn vµo OK ®Ó tiÕp tôc"); Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 7 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. 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 8 Khi duyÖt cã kÕt qu¶: H×nh2.1: HiÓn thÞ cöa sæ nhËp tªn VÝ dô nµy hiÓn thÞ dÊu nh¾c nhËp vµo tªn víi ph¬ng thøc window.prompt . Gi¸ trÞ ®¹t ®îc sÏ ®îc ghi trong biÕn cã tªn lµ name. BiÕn name ®îc kÕt hîp víi c¸c chuçi kh¸c vµ ®îc hiÓn thÞ trong cöa sæ cña tr×nh duyÖt nhê ph¬ng thøc document.write . H×nh 2.2: HiÓn thÞ lêi chµo ng­êi nhËp B©y giê b¹n ®· cã ý tëng vÒ c¸c chøc n¨ng cã thÓ ®¹t ®îc qua JavaScript, chóng ta h·y tiÕp tôc t×m hiÓu thªm vÒ chÝnh ng«n ng÷ nµy. Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 9 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 cña thÎ SCRIPT Gi÷ ®Þa chØ cña file JavaScript bªn ngoµi. File nµy ph¶i cã phÇn ®u«i .js LANGUAGE thuéc tÝnh cña thÎ SCRIPT §Þnh râ ng«n ng÷ script ®îc sö dông (JavaScript hoÆc VBScript) // Ghi chó trong JavaScript §¸nh dÊu ghi chó mét dßng trong ®o¹n script /*...*/ Ghi chó trong JavaScript §¸nh dÊu ghi chó mét khèi trong ®o¹n script document.write() c¸ch thøc JavaScript XuÊt ra mét x©u trªn cöa sæ hiÖn thêi mét c¸ch tuÇn tù theo file HTML cã ®o¹n script ®ã document.writeln() C¸ch thøc JavaScript T¬ng tù c¸ch thøc document.write() nhng viÕt xong tù xuèng dßng. alert() C¸ch thøc cña JavaScript HiÓn thÞ mét dßng th«ng b¸o trªn hép héi tho¹i promt() C¸ch thøc JavaScript HiÓn thÞ mét dßng th«ng b¸o trong hép héi tho¹i ®ång thêi cung cÊp mét trêng nhËp d÷ liÖu ®Ó ngêi sö dông nhËp vµo. Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 10 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. Sau ®©y lµ c¸c vÝ dô vÒ tõ tè: 8 “The dog ate my shoe” true 3.3. KiÓu d÷ liÖu Chó ý Kh¸c víi C, trong JavaScript kh«ng cã kiÓu h»ng sè CONST ®Ó biÓu diÔn mét gi¸ trÞ 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 11 C¸c tr×nh duyÖt hç trî JavaScript sÏ xö lý chÝnh x¸c vÝ dô trªn vµ ®a ra kÕt qu¶ díi ®©y: Tr×nh diÔn dÞch JavaScript sÏ xem biÕn numfruit cã kiÓu nguyªn khi céng víi 20 vµ cã kiÓu chuçi khi kÕt hîp víi biÓn temp. Trong JavaScript, cã bèn kiÓu d÷ liÖu sau ®©y: kiÓu sè nguyªn, kiÓu dÊu phÈy ®éng, kiÓu logic vµ kiÓu chuçi. 1.1.1. KIÓu nguyªn (Interger) Sè nguyªn cã thÓ ®îc biÓu diÔn theo ba c¸ch: • HÖ c¬ sè 10 (hÖ thËp ph©n) - cã thÓ biÓu diÔn sè nguyªn theo c¬ sè 10, chó ý r»ng ch÷ sè ®Çu tiªn ph¶i kh¸c 0. • HÖ c¬ sè 8 (hÖ b¸t ph©n) - sè nguyªn cã thÓ biÓu diÔn díi d¹ng b¸t ph©n víi ch÷ sè ®Çu tiªn lµ sè 0. • HÖ c¬ sè 16 (hÖ thËp lôc ph©n) - sè nguyªn cã thÓ biÓu diÔn díi d¹ng thËp lôc ph©n víi hai ch÷ sè ®Çu tiªn lµ 0x. 1.1.2. KiÓu dÊu phÈy ®éng (Floating Point) Mét literal cã kiÓu dÊu phÈy ®éng cã 4 thµnh phÇn sau: H×nh 3.1: KÕt qu¶ cña xö lý d÷ liÖu • PhÇn nguyªn thËp ph©n. • DÊu chÊm thËp ph©n (.). • PhÇn d. • PhÇn mò. Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 12 §Ó ph©n biÖt kiÓu dÊu phÈy ®éng víi kiÓu sè nguyªn, ph¶i cã Ýt nhÊt mét ch÷ sè theo sau dÊu chÊm hay E. VÝ dô: 9.87 -0.85E4 9.87E14 .98E-3 1.1.3. KiÓu logic (Boolean) KiÓu logic ®îc sö dông ®Ó chØ hai ®iÒu kiÖn : ®óng hoÆc sai. MiÒn gi¸ trÞ cña kiÓu nµy chØ cã hai gi¸ trÞ • true. • false. 1.1.4. KiÓu chuçi (String) Mét literal kiÓu chuçi ®îc biÓu diÔn bëi kh«ng hay nhiÒu ký tù ®îc ®Æt trong cÆp dÊu " ... " hay '... '. VÝ dô: “The dog ran up the tree” ‘The dog barked’ “100” §Ó biÓu diÔn dÊu nh¸y kÐp ( " ), trong chuçi sö dông ( \" ), vÝ dô: document.write(“ \”This text inside quotes.\” ”); Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 2. 13 X©y dùng c¸c biÓu thøc trong JavaScript ®Þnh nghÜa vµ ph©n lo¹I biÓu thøc TËp hîp c¸c literal, biÕn vµ c¸c to¸n tö nh»m ®¸nh gi¸ mét gi¸ trÞ nµo ®ã ®îc gäi lµ mét biÓu thøc (expression). VÒ c¬ b¶n cã ba kiÓu biÓu thøc trong JavaScript: • Sè häc: Nh»m ®Ó lîng gi¸ gi¸ trÞ sè. VÝ dô (3+4)+(84.5/3) ®îc ®¸nh gi¸ b»ng 197.1666666667. • Chuçi: Nh»m ®Ó ®¸nh gi¸ chuçi. VÝ dô "The dog barked" + barktone + "!" lµ The dog barked ferociously!. • Logic: Nh»m ®¸nh gi¸ gi¸ trÞ logic. VÝ dô temp>32 cã thÓ nhËn gi¸ trÞ sai. JavaScript còng hç trî biÓu thøc ®iÒu kiÖn, có ph¸p nh sau: (condition) ? valTrue : valFalse NÕu ®iÒu kiÖn condition ®îc ®¸nh gi¸ lµ ®óng, biÓu thøc nhËn gi¸ trÞ valTrue, ngîc l¹i nhËn gi¸ trÞ valFalse. VÝ dô: state = (temp>32) ? "liquid" : "solid" Trong vÝ dô nµy biÕn state ®îc g¸n gi¸ trÞ "liquid" nÕu gi¸ trÞ cña biÕn temp lín h¬n 32; trong trêng hîp ngîc l¹i nã nhËn gi¸ trÞ "solid". C¸c to¸n tö (operator) To¸n tö ®îc sö dông ®Ó thùc hiÖn mét phÐp to¸n nµo ®ã trªn d÷ liÖu. Mét to¸n tö cã thÓ tr¶ l¹i mét gi¸ trÞ kiÓu sè, kiÓu chuçi hay kiÓu logic. C¸c to¸n tö trong JavaScript cã thÓ ®îc nhãm thµnh c¸c lo¹i sau ®©y: g¸n, so s¸nh, sè häc, chuçi, logic vµ logic bitwise. 2.1.1. G¸n To¸n tö g¸n lµ dÊu b»ng (=) nh»m thùc hiÖn viÖc g¸n gi¸ trÞ cña to¸n h¹ng bªn ph¶i cho to¸n h¹ng bªn tr¸i. Bªn c¹nh ®ã JavaScript cßn hç trî mét sè kiÓu to¸n tö g¸n rót gän. KiÓu g¸n th«ng thêng KiÓu g¸n rót gän x=x+y x+=y x=x-y x-=y x=x*y x*=y x=x/y x/=y x=x%y x%=y 2.1.2. So s¸nh Ngêi ta sö dông to¸n tö so s¸nh ®Ó so s¸nh hai to¸n h¹ng vµ tr¶ l¹i gi¸ trÞ ®óng hay sai phô thuéc vµo kÕt qu¶ so s¸nh. Sau ®©y lµ mét sè to¸n tö so s¸nh trong JavaScript: Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 14 == 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 <= Tr¶ l¹i gi¸ trÞ ®óng nÕu to¸n h¹ng bªn tr¸i nhá h¬n hoÆc b»ng to¸n h¹ng bªn ph¶i 2.1.3. Sè häc Bªn c¹nh c¸c to¸n tö céng (+), trõ (-), nh©n (*), chia (/) th«ng thêng, JavaScript cßn hç trî c¸c to¸n tö sau ®©y: var1% var2 To¸n tö phÇn d, tr¶ l¹i phÇn d khi chia var1 cho var2 - To¸n tö phñ ®Þnh, cã gi¸ trÞ phñ ®Þnh to¸n h¹ng var++ To¸n tö nµy t¨ng var lªn 1 (cã thÓ biÓu diÔn lµ ++var) var-- To¸n tö nµy gi¶m var ®i 1 (cã thÓ biÓu diÔn lµ --var) 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. 2.1.4. Chuçi 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: 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 Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 15 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 b»ng to¸n h¹ng ph¶i. C¸c bit bÞ chuyÓn sang tr¸i bÞ mÊt vµ 0 thay vµo phÝa bªn ph¶i. VÝ dô: 4<<2 trë thµnh 16 (sè nhÞ ph©n 100 trë thµnh sè nhÞ ph©n 10000) >> To¸n tö dÞch ph¶i. 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. C¸c bit bÞ chuyÓn sang ph¶i bÞ mÊt vµ dÊu cña to¸n h¹ng bªn tr¸i ®îc gi÷ nguyªn. VÝ dô: 16>>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 x=x|y x|=y Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 16 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 <= 7 2. f. (7 < 5) ? 7 : 5 g. (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 JavaScript 3. 17 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 ( <®iÒu kiÖn> ) { //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·. 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: Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 18 • 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 <®iÒu kiÖn> ®î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; <®iÒu kiÖn> ; incrExpr){ //C¸c lÖnh ®îc thùc hiÖn trong khi lÆp } VÝ dô: For loop Example Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 19 H×nh 5.1: KÕt qu¶ cña lÖnh for...loop VÝ dô nµy lu vµo file for_loop.Html. 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 <®iÒu kiÖn> cßn ®îc ®¸nh gi¸ lµ ®óng Có ph¸p: while (<®iÒu kiÖn>) { //C¸c c©u lÖnh thùc hiÖn trong khi lÆp } VÝ dô: x=1; while (x<=10){ y=x*25; document.write("x="+x +"; y = "+ y + "
"); x++; } KÕt qu¶ cña vÝ dô nµy gièng nh vÝ dô tríc. 3.1.3. Break C©u lÖnh break dïng ®Ó kÕt thóc viÖc thùc hiÖn cña vßng lÆp for hay while. Ch¬ng tr×nh ®îc tiÕp tôc thùc hiÖn t¹i c©u lÖnh ngay sau chç kÕt thóc cña vßng lÆp. Có ph¸p break; Khoa Toan tin, §¹i häc Quèc gia Hµ Néi JavaScript 20 §o¹n m· sau lÆp cho ®Õn khi x lín h¬n hoÆc b»ng 100. Tuy nhiªn nÕu gi¸ trÞ x ®a vµo vßng lÆp nhá h¬n 50, vßng lÆp sÏ kÕt thóc VÝ dô: while (x<100) { if (x<50) break; x++; } 3.1.4. continue LÖnh continue gièng lÖnh break nhng kh¸c ë chç viÖc lÆp ®îc kÕt thóc vµ b¾t ®Çu tõ ®Çu vßng lÆp. §èi víi vßng lÆp while, lÖnh continue ®iÒu khiÓn quay l¹i <®iÒu kiÖn>; víi for, lÖnh continue ®iÒu khiÓn quay l¹i incrExpr. Có ph¸p continue; VÝ dô: §o¹n m· sau t¨ng x tõ 0 lªn 5, nh¶y lªn 8 vµ tiÕp tôc t¨ng lªn 10 x=0; while (x<=10) { document.write(“Gi¸ trÞ cña x lµ:”+ x+”
”); if (x=5) { x=8; continue; } x++; } C¸c c©u lÖnh thao t¸c trªn ®èi tîng JavaScript lµ mét ng«n ng÷ dùa trªn ®èi tîng, do ®ã nã cã mét sè c©u lÖnh lµm viÖc víi c¸c ®èi tîng. 3.1.5. for...in C©u lÖnh nµy ®îc sö dông ®Ó lÆp tÊt c¶ c¸c thuéc tÝnh (properties) cña mét ®èi tîng. Tªn biÕn cã thÓ lµ mét gi¸ trÞ bÊt kú, chØ cÇn thiÕt khi b¹n sö dông c¸c thuéc tÝnh trong vßng lÆp. VÝ dô sau sÏ minh ho¹ ®iÒu nµy Có ph¸p for (< variable> in < object> ) { Khoa Toan tin, §¹i häc Quèc gia Hµ Néi
- Xem thêm -

Tài liệu liên quan