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

Ngôn ngữ lập trình JavaScript

Chia sẻ: Muay Thai | Ngày: | Loại File: PDF | Số trang:72

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

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

Chủ đề:
Lưu

Nội dung Text: Ngôn ngữ lập trình 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 C«ng nghÖ, §¹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 HTML. NÕu ®Æt Ghi chó kh«ng ®−îc trong ®Æt trong cÆp thÎ phÇn , nã sÏ ®−îc t¶i vµ s½n sµng tr−íc khi phÇn cßn nh− ghi 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 script nªn cã thÓ sö dông ®−îc sö dông. Cã hai gi¸ trÞ ®−îc ®Þnh nghÜa lµ "JavaScript" vµ // hay /* ... */. "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 C«ng nghÖ, §¹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 kú thÎ Chó ý 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. §Ó ¸nh script nhËn ra x©u ký x¹ ®u«i nµy vµo kiÓu MIME, ta thªm dßng sau vµo file tù ®ã. 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. 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! Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  4. JavaScript 4 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. §è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'); Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  5. JavaScript 5 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. VÝ dô: Sù kh¸c nhau cña write() vµ writeln(): Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  6. JavaScript 6 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ô 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 Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  7. JavaScript 7 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 ”); 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 C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  8. JavaScript 8 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 JavaScript promt() C¸ch thøc HiÓn thÞ mét dßng th«ng b¸o trong hép héi tho¹i Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  9. JavaScript 9 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. 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); 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: Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  10. JavaScript 10 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ò. §Ó 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 Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  11. JavaScript 11 -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 C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  12. JavaScript 12 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: == 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 Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  13. JavaScript 13 != 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
  14. JavaScript 14 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 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
  15. JavaScript 15 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 C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  16. JavaScript 16 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ó ý C©u Ký tù { vµ } ®−îc sö dông ®Ó t¸ch c¸c khèi m·. 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 Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
  17. JavaScript 17 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
  18. JavaScript 18 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
  19. JavaScript 19 while (x
  20. JavaScript 20 H×nh 5.2: KÕt qu¶ cña lÖnh for...in 3.1.6. new BiÕn new ®−îc thùc hiÖn ®Ó t¹o ra mét thÓ hiÖn míi cña mét ®èi t−îng Có ph¸p objectvar = new object_type ( param1 [,param2]... [,paramN]) VÝ dô sau t¹o ®èi t−îng person cã c¸c thuéc tÝnh firstname, lastname, age, sex. Chó ý r»ng tõ kho¸ this ®−îc sö dông ®Ó chØ ®èi t−îng trong hµm person. Sau ®ã ba thÓ hiÖn cña ®èi t−îng person ®−îc t¹o ra b»ng lÖnh new New Example function person(first_name, last_name, age, sex){ this.first_name=first_name; this.last_name=last_name; this.age=age; this.sex=sex; } person1= new person("Thuy", "Dau Bich", "23", "Female"); person2= new person("Chung", "Nguyen Bao", "24", "Male"); person3= new person("Binh", "Nguyen Nhat", "24", "Male"); person4= new person("Hoµn", "§ç V¨n", "24", "Male"); Khoa C«ng nghÖ, §¹i häc Quèc gia Hµ Néi
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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