GiớithiệuvềJavaScript JavaScriptlàgì? CáchđặtJavaScripttrongtrangHTML VịtríđặtJavaScripttrongtrangHTML ThựcthiJavaScriptbênngoài JavaScriptlàgì? · Javascript làngônngữlậptrìnhkiểuthôngdịchdànhchoweb.Khiđoạnmãjavascriptđượcchènvào tranghtmlthìtrìnhduyệtwebsẽthôngdichvàthựchiện · Javascriptdonetscaptepháttriển.Cúphápcủanógầngiốngnhưc++ · JavaScriptđượchỗtrợtốttronghầuhếtcáctrìnhduyệt WhatcanaJavaScriptDo? JavaScriptgivesHTMLdesignersaprogrammingtool HTMLauthorsarenormallynotprogrammers,butJavaScriptisaverylightprogramminglanguagewitha verysimplesyntax!Almostanyonecanstartputtingsmall"snippets"ofcodeintotheirHTMLdocuments. JavaScriptcanputdynamictextintoanHTMLpage AJavaScriptstatementlikethis:document.write("<h1>"+name+"</h1>")canwriteavariabletextintothe displayofanHTMLpage,justlikethestaticHTMLtext:<h1>BillGates</h1>does. JavaScriptcanreacttoevents AJavaScriptcanbesettoexecutewhensomethinghappens,likewhenapagehasfinishedloadingorwhena userclicksonanHTMLelement. JavaScriptcanreadandwriteHTMLelements AJavaScriptcanreadanHTMLelementandchangethecontentofanHTMLelement. JavaScriptcanbeusedtovalidatedata JavaScriptscanbeusedtovalidatedatainaformbeforeitissubmittedtoaserver.Thisfunctionis particularlywellsuitedtosavetheserverfromextraprocessing. CáchđặtJavaScripttrongHTML Dùngtag <script></script<tagđểchèn JavaScriptvàotrangHTML Vídụ: <html> <head> </head> <body> <scripttype="text/javascript"> document.write("HelloWorld!") </script> </body> </html> VịtríđặtđoạnmãJavaScript Đoạnscriptsẽthựcthingaykhitrangwebđượcmở Đặtgiữatag<head>và</head> Khiđoạnscriptđặtgiữatag<head> </head>thìbảođảmnósẽđượcthựcthitrướckhigọihàm Vídụ: <html> <head> <scripttype="text/JavaScript"> somestatements </script> </head> Đặtgiữatag<body>và</body> Đoạnscripttrongphầnbody đượcthựcthikhitrangwebđangmở Vídụ: <html> <head> </head> <body> <scripttype="text/JavaScript"> somestatements </script> </body> Đặtgiữatag<body>và</body>hay<head>và</head> ĐoạnscriptcóthểđặttrongphầnđầuhayphầnthâncủatagHTML.Sốlượngđoạnscriptkhônghạnchế Vídụ: <html> <head> <scripttype="text/JavaScript"> somestatements </script> </head> <body> <scripttype="text/JavaScript"> somestatements </script> </body> Thựcthi đoạnmãJavaScriptbênngoài KhimuốnthựcthiđoạnJavaScripttrênnhiềutrangtanênviết đoạnmãđórafile*.js,sauđógọiđoạnmàđó dùngthuộctính " src" . File*.jskhôngchứatag<script> Vídụ: Tacóđoạnmãjavascriptđượclưutrongfiletest.jsnhưsau: document.write("Thisscriptisexternal") Gọi đoạnscriptdùngthuộctính"src"từtrangHTML <html> <head> </head> <body> <scriptsrc="xxx.js"></script> </body> </html> BiếntrongJavaScript Cáckiểudữliệucơbản Khaibáobiến Cáctoántử Cáchàm Cáckiểudữliệucơbản · JavaScriptđịnhnghĩacáckiểudữliệucơbảnbaogồm:kiểusố,kiểuchuỗi,kiểuluậnlý,kiểuobject,kiểu mảng,null,undefined. · TrìnhthôngdịchJavaScriptchỉcóthểtínhtoángiátrịcủamộtbiểuthứckhikiểudữliệucủacáctoánhạng lànhưnhau.Dođó,đôilúccầnphảiépkiểuchocáctoánhạngtrongcácbiểuthứcđểtránhcáchiệuứng lề. Khaibáobiến · Sửdụngtừkhoá varđểkhaibáobiến.JavaScriptđòihỏicácbiếnphảiđượckhaibáotrướckhisửdụng. · Vídụ varcount; varcount,amount;//khaibaonhiềubiếncùngkiểu varcount=10,amount=9;//Vừakhaibáovừakhởitạogiátrịchobiến · Nếubiếnkhôngđượckhởitạolúckhaibáo,nósẽlấygiátrịlàundefined. · Quitắcđặttênbiến: o Phảibắtđầubằngmộtkýtựhaydấugạchdưới"_". o Theosauchỉlàhoặckýtự,hoặckýtựsốhoặcdấugạchdưới. o Khôngđượctrùngvớicáctừdànhriêngvídụnhưtừkhoá · Tạodữliệukiểumảng: o Vídụsaudùngđểkhaibáomảngmộtchiềucó10phầntử: varA=newArray(10). o Phầntửbắtđầucủamảnglà0.Đểtruyxuấtđếnphầntửicủamảngtadùng:A[i] · Thờigiansốngcủabiến: o Nếukhaibáobiếntrongthủtuc(biếncụcbộ)thìbiếnchỉcógiátrịtrongthủtucđó,khithủtục kếtthúcthìbiếnbịhuỷ. o Nếubiếnkhaibáongoàithủtụcthìnócógiátrịtừkhikhaibáođếnkhikếtthúclàmviệctrêntrang đó. Hàm · Khaibáohàm function<tênhàm>(<danhsáchcácthamsố>) { } · Vídụ: functionadd(x,y) { results=x+y; returnresults; } · Cáchgọihàm: Hàmcóthamsố: myfunction( argument1,argument2,etc ) · Khôngcóthamsố myfunction() Vídụ: sum=add(5,5);//Kếtquảsum=10 Cáctoántử Toántửtoánhọc Toántử Môtả Vídụ Kếtquả + Cộng x=2 x+2 4 Trừ x=2 5x 3 * Nhân x=4 x*5 20 / Chia 15/5 5/2 3 2.5 % Lấyphầndưcủaphépchia 5%2 10%8 10%2 1 2 0 ++ Tăng1 x=5 x++ x=6 Giảm1 x=5 x x=4 Toántửgán Toántử Vídụ Phéptoántươngdương = x=y x=y += x+=y x=x+y = x=y x=xy *= x*=y x=x*y /= x/=y x=x/y %= x%=y x=x%y Toántửsosánh Toántử Môtả Vídụ == Sosánhbằng 5==8trảvềfalse != Sosánhbằng 5!=8trảvềtrue > lớnhơn 5>8trảvềfalse < Nhỏhơn 5<8trảvềtrue >= Lớnhơnhaybằng 5>=8trảvềfalse <= Nhỏhơnhaybằng 5<=8trảvềtrue Toántửluậnlý Toántử Môtả Vídụ && PhépAND. x=6 y=3 (x<10&&y>1)trảvềTRUE || PhépOR x=6 y=3 (x==5||y==5)Trảvềfalse ! PhépNOT x=6 y=3 x!=yTrảvềtrue Toántửtrênbiếnkiểuchuỗi Dùngphép"+"đểkếtcácchuỗilạivớinhau Vídụ: txt1="Whatavery"; txt2="niceday!"; txt3=txt1+txt2; //Kếtquảtxt3="Whataveryniceday!". BiếntrongJavaScript Cáckiểudữliệucơbản Khaibáobiến Cáctoántử Cáchàm Cáckiểudữliệucơbản · JavaScriptđịnhnghĩacáckiểudữliệucơbảnbaogồm:kiểusố,kiểuchuỗi,kiểuluậnlý,kiểuobject,kiểu mảng,null,undefined. · TrìnhthôngdịchJavaScriptchỉcóthểtínhtoángiátrịcủamộtbiểuthứckhikiểudữliệucủacáctoánhạng lànhưnhau.Dođó,đôilúccầnphảiépkiểuchocáctoánhạngtrongcácbiểuthứcđểtránhcáchiệuứng lề. Khaibáobiến · Sửdụngtừkhoá varđểkhaibáobiến.JavaScriptđòihỏicácbiếnphảiđượckhaibáotrướckhisửdụng. · Vídụ varcount; varcount,amount;//khaibaonhiềubiếncùngkiểu varcount=10,amount=9;//Vừakhaibáovừakhởitạogiátrịchobiến · Nếubiếnkhôngđượckhởitạolúckhaibáo,nósẽlấygiátrịlàundefined. · Quitắcđặttênbiến: o Phảibắtđầubằngmộtkýtựhaydấugạchdưới"_". o Theosauchỉlàhoặckýtự,hoặckýtựsốhoặcdấugạchdưới. o Khôngđượctrùngvớicáctừdànhriêngvídụnhưtừkhoá · Tạodữliệukiểumảng: o Vídụsaudùngđểkhaibáomảngmộtchiềucó10phầntử: varA=newArray(10). o Phầntửbắtđầucủamảnglà0.Đểtruyxuấtđếnphầntửicủamảngtadùng:A[i] · Thờigiansốngcủabiến: o Nếukhaibáobiếntrongthủtuc(biếncụcbộ)thìbiếnchỉcógiátrịtrongthủtucđó,khithủtục kếtthúcthìbiếnbịhuỷ. o Nếubiếnkhaibáongoàithủtụcthìnócógiátrịtừkhikhaibáođếnkhikếtthúclàmviệctrêntrang đó. Hàm · Khaibáohàm function<tênhàm>(<danhsáchcácthamsố>) { } · Vídụ: functionadd(x,y) { results=x+y; returnresults; } · Cáchgọihàm: Hàmcóthamsố: myfunction( argument1,argument2,etc ) · Khôngcóthamsố myfunction() Vídụ: sum=add(5,5);//Kếtquảsum=10 Cáctoántử Toántửtoánhọc Toántử Môtả Vídụ Kếtquả + Cộng x=2 x+2 4 Trừ x=2 5x 3 * Nhân x=4 x*5 20 / Chia 15/5 5/2 3 2.5 % Lấyphầndưcủaphépchia 5%2 10%8 10%2 1 2 0 ++ Tăng1 x=5 x++ x=6 Giảm1 x=5 x x=4 Toántửgán Toántử Vídụ Phéptoántươngdương = x=y x=y += x+=y x=x+y = x=y x=xy *= x*=y x=x*y /= x/=y x=x/y %= x%=y x=x%y Toántửsosánh Toántử Môtả Vídụ == Sosánhbằng 5==8trảvềfalse != Sosánhbằng 5!=8trảvềtrue > lớnhơn 5>8trảvềfalse < Nhỏhơn 5<8trảvềtrue >= Lớnhơnhaybằng 5>=8trảvềfalse <= Nhỏhơnhaybằng 5<=8trảvềtrue Toántửluậnlý Toántử Môtả Vídụ && PhépAND. x=6 y=3 (x<10&&y>1)trảvềTRUE || PhépOR x=6 y=3 (x==5||y==5)Trảvềfalse ! PhépNOT x=6 y=3 x!=yTrảvềtrue Toántửtrênbiếnkiểuchuỗi Dùngphép"+"đểkếtcácchuỗilạivớinhau Vídụ: txt1="Whatavery"; txt2="niceday!"; txt3=txt1+txt2; //Kếtquảtxt3="Whataveryniceday!". CấutrúclệnhtrongJavaScript Cấutrúcđiềukiệnif then else Cấutrúcđiềukiệnselectcase Cấutrúclặp Cấutrúc điềukiệnIF THEN ELSE · Cúpháp: If<biểuthứcđiềukiện>Then <Lệnhi> Else <Lệnhi> EndIf · Vídụ: <scripttype="text/javascript"> //Ifthetimeonyourbrowserislessthan10, //youwillgeta"Goodmorning"greeting. //Otherwiseyouwillgeta"Goodday"greeting. vard=newDate() vartime=d.getHours() if(time<10) { document.write("Goodmorning!") } else { document.write("Goodday!") } </script> Cấutrúc điềukiệnSELECTCASE · Cúpháp: switch(expression) { caselabel1: codetobeexecutedifexpression=label1 break caselabel2: codetobeexecutedifexpression=label2 break default: codetobeexecuted ifexpressionisdifferent frombothlabel1andlabel2 } · Vídụ: <scripttype="text/javascript"> //Youwillreceiveadifferentgreetingbased //onwhatdayitis.NotethatSunday=0, //Monday=1,Tuesday=2,etc. vard=newDate() theDay=d.getDay() switch(theDay) { case5: document.write("FinallyFriday") break case6: document.write("SuperSaturday") break case0: document.write("SleepySunday") break default: document.write("I'mlookingforwardtothisweekend!") } </script> · Cấutrúclặp · LệnhlăpDo Loop o Cúpháp: Dạng1 DoWhile<Biểuthứcđiềukiện> <Lệnhi> Loop o Vídụ: SubChkFirstWhile() Dimcounter,myNum counter=0 myNum=20 DoWhile myNum>10 myNum=myNum1 counter =counter+1 Loop MsgBox"TheLoopmade"&counter&"repetitions" EndSub . GiớithiệuvềJavaScript JavaScriptlàgì? CáchđặtJavaScripttrongtrangHTML VịtríđặtJavaScripttrongtrangHTML ThựcthiJavaScriptbênngoài JavaScriptlàgì? · Javascript làngônngữlập trình kiểuthôngdịchdànhchoweb.Khiđoạnmãjavascriptđượcchènvào tranghtmlthì trình duyệtwebsẽthôngdichvàthựchiện. · JavaScriptđượchỗtrợtốttronghầuhếtcác trình duyệt WhatcanaJavaScriptDo? JavaScriptgivesHTMLdesignersaprogrammingtool HTMLauthorsarenormallynotprogrammers,butJavaScriptisaverylightprogramminglanguagewitha verysimplesyntax!Almostanyonecanstartputtingsmall"snippets"ofcodeintotheirHTMLdocuments. JavaScriptcanputdynamictextintoanHTMLpage AJavaScriptstatementlikethis:document.write("<h1>"+name+"</h1>")canwriteavariabletextintothe displayofanHTMLpage,justlikethestaticHTMLtext:<h1>BillGates</h1>does. JavaScriptcanreacttoevents AJavaScriptcanbesettoexecutewhensomethinghappens,likewhenapagehasfinishedloadingorwhena userclicksonanHTMLelement. JavaScriptcanreadandwriteHTMLelements AJavaScriptcanreadanHTMLelementandchangethecontentofanHTMLelement. JavaScriptcanbeusedtovalidatedata JavaScriptscanbeusedtovalidatedatainaformbeforeitissubmittedtoaserver.Thisfunctionis particularlywellsuitedtosavetheserverfromextraprocessing. CáchđặtJavaScripttrongHTML Dùngtag. Javascript làngônngữlập trình kiểuthôngdịchdànhchoweb.Khiđoạnmãjavascriptđượcchènvào tranghtmlthì trình duyệtwebsẽthôngdichvàthựchiện · Javascriptdonetscaptepháttriển.Cúphápcủanógầngiốngnhưc++