實(shí)驗(yàn)四JavaScript內(nèi)置對(duì)象的使用_第1頁(yè)
實(shí)驗(yàn)四JavaScript內(nèi)置對(duì)象的使用_第2頁(yè)
實(shí)驗(yàn)四JavaScript內(nèi)置對(duì)象的使用_第3頁(yè)
實(shí)驗(yàn)四JavaScript內(nèi)置對(duì)象的使用_第4頁(yè)
實(shí)驗(yàn)四JavaScript內(nèi)置對(duì)象的使用_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、JavaScript 內(nèi)置對(duì)象應(yīng)用實(shí)驗(yàn) 4 JavaScript 內(nèi)置對(duì)象應(yīng)用1 實(shí)驗(yàn)?zāi)康?) 掌握J(rèn)avaScript基本語(yǔ)法;2) 掌握J(rèn)avaScript編程基礎(chǔ);3) 掌握J(rèn)avaScript對(duì)象編程技術(shù);4) 了解JavaScript ActiveX 編程技術(shù);2 實(shí)驗(yàn)內(nèi)容及要求JavaScript 語(yǔ)言的語(yǔ)法結(jié)構(gòu)和流程控制,JavaScript 語(yǔ)言的事件和對(duì)象編程方法。3實(shí)驗(yàn)原理JavaScript不同于服務(wù)器端腳本語(yǔ)言,JavaScript主要被作為客戶端腳本語(yǔ)言在用戶的瀏覽器上運(yùn)行,不需要服務(wù)器的支持。4儀器與材料安裝有Windows7或以上操作系統(tǒng)的計(jì)算機(jī),Dreamwea

2、ver5實(shí)驗(yàn)內(nèi)容5.1 JavaScript 編程基礎(chǔ)1、將JavaScript程序嵌入HTML文件的方法HTM戊件中使用腳本語(yǔ)言示例1。<html ><head><meta http-equiv ="Content-Type" content ="text/html; charset=gb2312"><title >HTM由如何使用script語(yǔ)言一設(shè)置收藏夾實(shí)例</ title ></head><script language ="javascript"

3、><!-alert( 'Hello' ); /顯示消息對(duì)話框 function Add_Favorite(url,title)window.external.AddFavorite(url,title);/ 放至U收藏夾 /-> </ script > <body><A HRE="javascript:Add_Favorite('http:','bbxy');”>收藏本站 </A></ body></ html >查看運(yùn)行結(jié)果。HTML文件中使用腳

4、本語(yǔ)言示例2。<html ><head><meta http-equiv ="Content-Type" content ="text/html; charset=gb2312"><title >HTM由如何使用script語(yǔ)言一設(shè)置主頁(yè)實(shí)例</title ></head><script src ="sethomepage.js" language ="javascript"></ script ><body>

5、;< A id ="myAlink" HREI="#" onclick ="Set_HomePage();"> 設(shè)為主頁(yè) </ A>< / body>< / html >sethomepage.js 文件內(nèi)容:function Set_HomePage() myAlink.style.behavior='url(#default#homepage)'myAlink.setHomePage(' return false;直接在HTML標(biāo)記內(nèi)添加腳本。將上例改成:&l

6、t;html ><head><meta http-equiv ="Content-Type" content ="text/html; charset=gb2312">< title >HTM由如何使用script語(yǔ)言一設(shè)置主頁(yè)實(shí)例</title > </head><body>< A HRE="#" onclick ="javascript:this.style.behavior='url(#default#homepage)'

7、;this.setHomePage(' return false;">設(shè)為主頁(yè) </A>< / body>< / html >查看運(yùn)行結(jié)果。2函數(shù)一個(gè)使用內(nèi)部函數(shù)eval()的示例。<script language ="javascript">var iNumber= "100"var anExpression ="(16 * 9 % 7)”;var total = eval(anExpression +"/" + iNumber);等同于求(16 *

8、9 % 7)/100 的值alert(total); / 將變量 total 賦值為 0.04。</ script >設(shè)計(jì)一個(gè)顯示指定數(shù)的階乘值的程序。<html ><head><title >函數(shù)示例/title ></ head><script language ="JavaScript”> function factor(num) var i,fact=1;for (i=1;i<num+1;i+) fact=i*fact; return fact;< / script ><bo

9、dy><script language ="JavaScript">調(diào)用factor函數(shù)alert("5的階乘="+ factop);顯示“的階乘=120”< / script >< / body>< / html >默認(rèn)求1+2+ +1000 ,否則按指定開始值、結(jié)束值求和<html ><head><script language ="javascript">function sum(StartVal,EndVal)var ArgNum=sum

10、.arguments.length;var i,s=0;if (ArgNum=0) StartVal=1;EndVal=1000;else if (ArgNum=1) EndVal=1000;for (i=StartVal;i<=EndVal;i+) s+=i;return s;</ script ></head><body><script language ="javascript">/ document.write表示在瀏覽器中輸出文本document.write("不給出參數(shù)調(diào)用函數(shù) sum:"

11、 ,sum(), "<br>");document.write("給出一個(gè)參數(shù)調(diào)用函數(shù) sum:" ,sum(500), "<br>");document.write("給出兩個(gè)參數(shù)調(diào)用函數(shù) sum:",sum(1,50), "<br>");</ script ></ body></ html >3事件驅(qū)動(dòng)及事件處理鼠標(biāo)單擊事件<html ><body><form ><Input t

12、ype ="button" Value ="鼠標(biāo)響應(yīng)"onclick ="alert( 這是一個(gè)例子)"></form >< / body></ html >鼠標(biāo)單擊(函數(shù)名)。<html ><head><title>檢查輸入的字符串是否全由數(shù)字組成</title ></head><script language ="javascript">function checkNum(str) var Test

13、Result = !/D/.test(str);使用正則表達(dá)式測(cè)試字符串是否全由數(shù)字組成alert(TestResult);< / script ><body><input id ="mytext" type ="text" value ='12332'><input id ="mybut" type ="button" value ="檢查" onclick ="checkNum(mytext.value)">

14、< / body></ html >鼠標(biāo)單擊(處理語(yǔ)句)。<html ><head><title >檢查輸入的字符串是否全由數(shù)字組成</title ></head><body><input id ="mytext" type ="text" value ='12332'><input id ="mybut" type ="button" value ="檢查"oncl

15、ick ="javascript:var TestResult=!/D/.test(mytext.value);/*使用正則表達(dá)式測(cè)試字符串*/ alert(TestResult);">< / body></ html >鼠標(biāo)單擊(函數(shù))。<html ><head><title >檢查輸入的字符串是否全由數(shù)字組成</title ></head><body><input id ="mytext" type ="text" valu

16、e ='12332'><input id ="mybut" type ="button" value ="檢查”><script language ="javascript">mybut.onmousedown=function () /* mybut 為按鈕的 ID */var TestResult = !/D/.test(mytext.value);/*使用正則表達(dá)式測(cè)試字符串是否全是數(shù)字*/alert(TestResult);</ script ></ b

17、ody></ html >Onchange、onselect、onfocus 事件例子。<html ><body><form ><inputid ="Test1"type ="text"value ="Test"onChange='alert("文本發(fā)生變化!")><inputid ="Test2"type ="text"value ="Test"onSelect ='

18、alert("我被選中!")'><inputid ="Test3"type ="text"value ="Test1"onFocus ='alert("Test3 得到焦點(diǎn)!")'><br ><inputid ="Test4"type ="text"value ="Test2"onFocus ='alert("Test4 得到焦點(diǎn)!")'&g

19、t;</form ></ body></ html >5.2 JavaScript對(duì)象編程技術(shù)1 JavaScript常用的內(nèi)置對(duì)象使用JavaScript內(nèi)建對(duì)象Array生成一個(gè)新的數(shù)組var theMonths =new Array(6);/創(chuàng)建數(shù)組對(duì)象theMonths ,具有6個(gè)數(shù)組元素theMonths0="Jan"theMonths1="Feb"theMonths2="Mar"theMonths3="Apr"theMonths4="May"the

20、Months5="Jun"卜面的示例與上一個(gè)示例是等價(jià)的var theMonths = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun");使用自定義對(duì)象的方式創(chuàng)建數(shù)組對(duì)象。<script language ="javascript">function arrayName(size) this .length=size;for (var i=0; i<=size;i+

21、) this i=0;return this ;var MyArray = newarrayName(10);MyArray0=1; MyArray1=2;MyArray2=3;MyArray3=4;MyArray4=5;MyArray5=6;MyArray6=7;MyArray7=8;MyArray8=9;MyArray9=10;alert(MyArray7); / 輸出 8</ script >string對(duì)象的建立和使用<script language ="javascript">/ 設(shè)置變量howLong為11。var howLong = &

22、quot;Hello World" .length;/錨點(diǎn)方法anchor()。使用anchor作用與Html中(A Name="") 一樣。/ 格式為:string.anchor(anchorName) 。/創(chuàng)建一個(gè)名為start的錨點(diǎn),該處顯示文字"開始"。var astr="開始"var aname=astr.anchor( "start");document.write(aname);/超鏈接方法link()。用于創(chuàng)建一個(gè)超鏈接,與Html中(A href="") 作用相同。/

23、 格式為:string.link(URL) 。var hstr= "BBXY"var hname=hstr.link( "" );document.write(hname);/ substring。方法:substring(start,end) 。它返回字符串的一部分,該字符串包含從 start 直到/end (不包含end)的子字符串。/substring方法使用start 和end兩者中的較小值作為子字符串的起始點(diǎn)。例如,/strvar.substring(0, 3)和 strvar.substring(3, 0)將返回相同的子字符串。/如果star

24、t 或end為NaN或負(fù)數(shù),那么它將被替換為 0。/子字符串的長(zhǎng)度等于 start 和end之差的絕對(duì)值。例如,在 strvar.substring(0, 3) 和 /strvar.substring(3, 0)中,返回的子字符串的長(zhǎng)度為3。/ 字符搜索:indexOfstr,fromIndex 。Str1= "0123456789" ;/ 創(chuàng)建一個(gè) string 對(duì)象 Str1Str2= "2345" ;/ 創(chuàng)建一個(gè) string對(duì)象 Str2var aChunk = Str1.substring(4, 7);/ 將 aChunk 設(shè)為"45

25、6"。document.write( "aChunk=" +aChunk);found= Str1.indexOf(Str2); / 返回 Str2 在 Str1 中的起始位置,found 值為。/創(chuàng)建字符串對(duì)象的另外一種方法是用newvar mystr= new String( "<br>BBXY<br>");document.write(mystr.link( "" );</ script >Math對(duì)象的使用<script language ="javascript&

26、quot;>var radius = 5;/聲明一個(gè)半徑變量并賦數(shù)值。var circleArea = Math.PI * radius * radius;/ 注意 Math和 PI 需大寫。/本公式計(jì)算給定半徑的球體的體積。volume = (4/3)*(Math.PI*Math.pow(radius,3);alert(volume); / 輸出.5987/也可用With保留字來(lái)簡(jiǎn)化程序的寫法/注意Math和PI需大寫。with (Math)var circleArea = PI * radius * radius;/本公式計(jì)算給定半徑的球體的體積。volume = (4/3)*(PI

27、* pow(radius,3);alert(volume);</ script >/ 輸出.5987Date對(duì)象的使用<script language ="javascript">/*本示例使用前面定義的月份名稱數(shù)組。第一條語(yǔ)句以“ Day Month Date 00:00:00 Year”格式對(duì)Today變量賦值。*/var Today = new Date(); / 獲取今天的日期。/提取年,月,日。thisYear = Today.getFullYear(); thisMonth = Today.getMonth(); thisDay = To

28、day.getDate();/提取時(shí),分,秒。thisHour=Today.getHours(); thisMinutes=Today.getMinutes();thisSeconds=Today.getSeconds();/提取星期幾一","二");thisWeek=Today.getDay();var x = new Array("日","x = x.concat( "三","四","五","六"); thisWeek=xthisWeek;nowDat

29、eTime="現(xiàn)在是"+thisYear+ "年"+thisMonth + "月"+thisDay+ "日" nowDateTime+=thisHour+ "時(shí)"+thisMinutes+ "分"+thisSeconds+ "秒"; nowDateTime+="星期"+thisWeek;document.write(nowDateTime+ "<br>" );/ 輸出:現(xiàn)在是年月日時(shí)分秒計(jì)算兩個(gè)日期相差的

30、天數(shù)var var var var vardatestring1 = "November 1, 1997 10:15 AM" datestring2 = "December 1,2019 10:15 AM"DayMilliseconds= 24*60*60*1000;t1 = Date.parse(datestring1);t2 = Date.parse(datestring2);/1天的毫秒數(shù)/換算成自年月日到年月日的毫秒數(shù)/換算成自年月日到年月日的毫秒數(shù)s = "There are "s += Math.round(Math.ab

31、s(t2-t1)/DayMilliseconds) +" days "s += "between " + datestring1 +" and " + datestring2 ;document.write(s); / 輸出:How many days between November 1, 1997 10:15 AM and December 1, 2019 10:15 AM </ script >2用戶自定義對(duì)象創(chuàng)建對(duì)象pasta<script language ="javascript"&g

32、t;/定義pasta對(duì)象function pasta(grain, width, shape, hasEgg) this .grain = grain;this .width = width;this .shape = shape;this .hasEgg = hasEgg; /使用對(duì)象的時(shí)候,用new進(jìn)行實(shí)例化,下面建立了兩個(gè)對(duì)象實(shí)例。var spaghetti = new pasta( "wheat" , 0.2, "circle" , true );var linguine = newpasta( "wheat" , 0.3,

33、"oval" , true ); document.write(spaghetti.shape) / 輸出 circle document.write(linguine.shape) / 輸出 oval</ script >擴(kuò)充上例中定義的pasta構(gòu)造函數(shù)以包含toString 方法<script language ="javascript">/定義pasta對(duì)象function pasta(grain, width, shape, hasEgg) this .grain = grain;this .width = width;

34、this .shape = shape;this .hasEgg = hasEgg;this .toString = pastaToString;function pastaToString()return "Grain: "+ this .grain +"n" + "Width: "+ this .width +"n" +"Shape: " + this .shape + "n" + "Egg?: " + Boolean( this .hasEgg);/

35、用new建立pasta對(duì)象的實(shí)例spaghettivar spaghetti = new pasta( "wheat" , 0.2, "circle" , true );/可以給對(duì)象實(shí)例spaghetti添加屬性,以改變?cè)搶?shí)例spaghetti.color = "pale straw" ;spaghetti.drycook = 7;spaghetti.freshcook = 0.5;alert(spaghetti); / 輸出:Grain: wheat Width: 0.2 Shape: circle Egg?: truealert(

36、spaghetti.freshcook) / 輸出:.5/用new建立pasta對(duì)象的實(shí)例chowFunvar chowFun = new pasta( "rice" , 3, "flat" , false );/chowFun實(shí)例中并不包括實(shí)例spaghetti添加的color屬性??梢詾閜asta對(duì)象添加一個(gè)color屬性,以 后所有pasta的對(duì)象實(shí)例均可使用此屬性。totype.color = "yellow"alert(spaghetti.color); / 輸出:pale strawalert(chowF

37、un.color); / 輸出:yellow(chowFun已經(jīng)具有 color 屬性了)</ script >5.3 JavaScript ActiveX 編程技術(shù)文件系統(tǒng)操作。<script type ="text/javascript" >var fso =new ActiveXObject("Scripting.FileSystemObject" )fso.CreateFolder ("C:Bonus" ); / 在 C1創(chuàng)建一個(gè)文件夾fso.DeleteFolder ("C:Bonus&qu

38、ot; ); / 刪除創(chuàng)建的文件夾fso.CopyFile( "c:temp11.bmp", "c:Bonus22.bmp"); 復(fù)制文件/創(chuàng)建新文件 var tf = fso.CreateTextFile( "c:testfile.txt" , true);tf.WriteLine( "Testing 1,2, 3.") ;/ 填寫數(shù)據(jù),并增加換行符tf.WriteBlankLines(3) ;/ 增力口 3 個(gè)空行tf.Write ( "This is a test." ); / 填寫一行,

39、不帶換行符tf.Close(); / 關(guān)閉文件/打開文件var ForReading=1;var ts = fso.OpenTextFile( "c:testfile.txt" , ForReading);s = ts.ReadLine(); /讀取文件一行內(nèi)容到字符串a(chǎn)lert( "File contents = '"+ s + "",); / 顯示字符串信息ts.Close(); / 關(guān)閉文件</ script >調(diào)用Excel的程序1。<script language ="javascript

40、">var ExcelApp = newActiveXObject( "Excel.Application" );/ 啟動(dòng)創(chuàng)建對(duì)象的應(yīng)用程序 EXCELvar ExcelSheet =new ActiveXObject("Excel.Sheet" );/ 創(chuàng)建 EXCELS作表ExcelSheet.Application.Visible = true ;/ 使 Excel 窗口可見/將一些文本放置到表格的第一格中。ExcelSheet.ActiveSheet.Cells(1,1).Value ="This is column A

41、, row 1"/ 保存 EXCELS C:TEST.XLS。ExcelSheet.SaveAs( "C:TEST1.XLS");/用Quit方法關(guān)閉Excel。ExcelApp.Quit();/可以找到C:TEST1.XLS文件,檢查其正確性</ script >調(diào)用Excel的程序2<script language ="javascript">/ 啟動(dòng) EXCEL var ExcelApp = newActiveXObject( "Excel.Application" );ExcelApp.Vis

42、ible = true ;使 EXCE窗 口可見/指定當(dāng)前工作區(qū)為Sheet2ExcelApp.WorkBooks.Open( "c:TEST.xls"); var objExcelBook=ExcelApp.ActiveWorkBook; var objExcelSheets=objExcelBook.Worksheets; var objExcelSheet=objExcelBook.Sheets(1);/此處為對(duì)excel單元格進(jìn)行填寫數(shù)據(jù)的語(yǔ)句objExcelSheet.Range( ek7");"B2:k2" ).Value=Arra

43、y("Week1", "Week2", "Week3", "Week4", "Week5", "Week6", "WeobjExcelSheet.Range("B3:k3" ).Value=Array("67" , "87" , "5" , "9" , "7" , "45" , "45" , "54" , "54" , "10");objExcelSheet.Range("B4:k4" ).Value=Array(&quo

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論