




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、JavaScript數組JavaScript中的Array對象就是數組,首先是一個動態數組,無需預先制定大小,而且是一個像Java中數組、ArrayList、Hashtable等的超強綜合體。一、數組的聲明常規方式聲明:1、var arrName = new Array();/創建一個數組2、var arrName = new Array(size);/創建一個數組并指定長度,注意不是上限,是長度3、var arrName =new Array("孤傲蒼狼","白虎神皇","滅世魔尊");/創建一個數組,并初始化數組的內容注意:雖然v
2、ar arrName = new Array(size);指定了長度,但實際上所有情況下數組都是變長的,也就是說即使指定了長度為2,仍然可以將元素存儲在規定長度以外的,注意:這時長度會隨之改變。Array的簡化聲明1、普通數組初始化:var arr = 3, 5, 6, 8, 9;范例1:復制代碼 1 <script type="text/javascript"> 2 /JavaScript聲明數組的四種方式 3 var arr1 = new Array();/創建一個空數組 4 arr10="xdp" 5 arr11="gacl&
3、quot; 6 var arr2 = new Array(2);/創建一個數組并指定長度為2 7 arr2"name0"="xdp"/arr2第一個元素 8 arr2"name1"="gacl"/arr2第二個元素 9 arr2"name2"="xtxd"/arr2第三個元素,arr2雖然在聲明時指明了長度為2,但是還是可以添加超過其指明長度的元素10 var arr3 = new Array("孤傲蒼狼","白虎神皇","滅
4、世魔尊");/創建一個數組并初始化數組中的元素11 var arr4 = 1,true,"String"/Array的簡化聲明12 13 document.write("遍歷arr1中的元素:<br/>");14 for(var i in arr1) 15 document.write(arr1i+"<br/>");16 17 document.write("-<br/>");18 document.write("遍歷arr2中的元素:<br/>&
5、quot;);19 for(var i in arr2) 20 document.write("arr2""+i+""="+arr2i+"<br/>");21 22 document.write("-<br/>");23 document.write("遍歷arr3中的元素:<br/>");24 for(var i in arr3) 25 document.write(arr3i+"<br/>");26 27
6、 document.write("-<br/>");28 document.write("遍歷arr4中的元素:<br/>");29 for(var i in arr4) 30 document.write(arr4i+"<br/>");31 32 </script>復制代碼運行結果:范例2:復制代碼 1 <script type="text/javascript"> 2 var names = new Array();/普通方式聲明數組,不需要指明數組的
7、長度 3 names0 = "孤傲蒼狼" 4 names1 = "白虎神皇" 5 names2 = "滅世魔尊" 6 for (var i = 0; i < names.length; i+) 7 document.write("names"+i+" = "+namesi); 8 document.write("<br/>"); 9 10 11 var pinyins = new Array();12 pinyins"人" = "
8、;ren"13 pinyins"口" = "kou"14 pinyins"手" = "shou"15 document.write("pinyins"人" = "+pinyins"人");16 document.write("<br/>");17 document.write("pinyins.手 = "+pinyins.手);/像Hashtable、Dictionary那樣用,而且像它們一樣效
9、率高。18 document.write("<br/>");19 /Array的簡化聲明20 var arr1 = 3, 5;/普通數組初始化21 for (var i = 0; i < arr1.length; i+) 22 document.write("arr1"+i+" = "+arr1i);23 document.write("<br/>");24 25 </script>復制代碼運行結果:二、數組練習Ferris寫過一個數組的案例,以下就是他的案例代碼,挺全的,
10、思路也挺好!復制代碼 1 <!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "http:/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns=" 3 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4 <title>數組練習:各種數組方法的使用</
11、title> 5 <style> 6 divcolor:green;padding:10px 15px;margin:12px 0;background:#f0f0f0;border:1px dotted #333;font:12px/1.5 Courier New;word-wrap:break-word; 7 </style> 8 <script type="text/javascript"> 9 window.onload = function () 10 11 var aDiv = document.getElementsB
12、yTagName("div"); 12 var aInput = document.getElementsByTagName("input"); 13 var i = 0; 14 var bS1 = bS2 = true; 15 var aTmp = ; 16 17 /刪除/添加第一項 18 aInput0.onclick = function () 19 20 aTmp = getArray(aDiv0.innerHTML); 21 bS1 ? 22 /刪除第一項, shift()方法 23 (aTmp.shift(), this.value = th
13、is.value.replace("刪除","添加"), bS1 = false) : 24 /添加第一項, unshift()方法 25 (aTmp.unshift("January(1)"), this.value = this.value.replace("添加","刪除"), bS1 = true); 26 /輸出 27 aDiv0.innerHTML = aTmp.join() 28 ; 29 30 31 /刪除/添加最后一項 32 aInput1.onclick = function
14、 () 33 34 aTmp = getArray(aDiv0.innerHTML); 35 bS2 ? 36 /刪除最后一項, pop()方法 37 (aTmp.pop(), this.value = this.value.replace("刪除","添加"), bS2 = false) : 38 /添加最后一項, push()方法 39 (aTmp.push("December(12)"), this.value = this.value.replace("添加","刪除"), bS2 =
15、true); 40 /輸出 41 aDiv0.innerHTML = aTmp.join() 42 ; 43 44 45 /復制, concat()方法 46 aInput2.onclick = function () 47 48 aTmp = getArray(aDiv1.innerHTML); 49 /輸出 50 aDiv1.innerHTML = aTmp.concat(aTmp).toString().replace(/s/g,"") 51 ; 52 53 54 /還原, 利用數組的 length 特點 55 aInput3.onclick = function (
16、) 56 57 aTmp = getArray(aDiv1.innerHTML); 58 /設置數組長度 59 aTmp.length = 10; 60 /輸出 61 aDiv1.innerHTML = aTmp.join() 62 ; 63 64 65 /第三組數據還原 66 aInput4.onclick = function () 67 68 aTmp = "red","green","blue","white","yellow","black","brown
17、" 69 /輸出 70 aDiv2.innerHTML = aTmp.join() 71 ; 72 73 74 /刪除前三項 75 aInput5.onclick = function () 76 77 aTmp = getArray(aDiv2.innerHTML); 78 /刪除, 0開始, 刪除3個 79 aTmp.splice(0, 3); 80 /輸出 81 aDiv2.innerHTML = aTmp.join() 82 ; 83 84 85 /刪除第二至三項 86 aInput6.onclick = function () 87 88 aTmp = getArray(a
18、Div2.innerHTML); 89 /刪除, 2開始, 刪除2個 90 aTmp.splice(1, 2); 91 /輸出 92 aDiv2.innerHTML = aTmp.join() 93 ; 94 95 96 /在第二頂后插入"orange", "purple" 97 aInput7.onclick = function () 98 99 aTmp = getArray(aDiv2.innerHTML);100 /插入, 2開始, 插入"orange", "purple"101 aTmp.splice(
19、1, 0, "orange", "purple"); 102 /輸出103 aDiv2.innerHTML = aTmp.join()104 ;105 106 107 /替換第二項和第三項108 aInput8.onclick = function ()109 110 aTmp = getArray(aDiv2.innerHTML);111 /插入, 2開始替換112 aTmp.splice(1, 2, "#009900", "#0000ff"); 113 /輸出114 aDiv2.innerHTML = aTmp
20、.join()115 ;116 117 /將div中的內容轉為數組118 /str div對象119 function getArray(str)120 121 aTmp.length = 0;122 str = str.split(",");123 for (var i in str)aTmp.push(stri);124 return aTmp125 126 127 </script>128 </head>129 <body>130 <div>January(1),February(2),March(3),April(4)
21、,May(5),June(6),July(7),Aguest(8),September(9),October(10),November(11),December(12)</div>131 <input value="刪除January(1)" type="button">132 <input value="刪除December(12)" type="button">133 <div>0,1,2,3,4,5,6,7,8,9</div>134 <inpu
22、t value="復制" type="button">135 <input value="還原" type="button">136 <div>red,green,blue,white,yellow,black,brown</div>137 <input value="還原" type="button">138 <input value="刪除前三項" type="button"
23、;>139 <input value="刪除第二至三項" type="button">140 <input value="在第二項后插入(orange, purple)" type="button">141 <input value="替換第二項和第三項" type="button">142 143 144 </body></html>JavaScript函數(function)一、函數基本概念為完成某一功能的
24、程序指令(語句)的集合,稱為函數。二、JavaScript函數的分類1、自定義函數(我們自己編寫的函數),如:function funName()2、系統函數(JavaScript自帶的函數),如alert函數。三、函數的調用方式1、普通調用:functionName(實際參數.)2、通過指向函數的變量去調用:var myVar=函數名;myVar(實際參數.);四、函數返回值1.當函數無明確返回值時,返回的值就是"undefined"。2.當函數有返回值時,返回值是什么就返回什么。函數測試代碼:復制代碼 1 <script type="text/javas
25、cript"> 2 var str="window.alert('孤傲蒼狼');" 3 eval(str);/eval() 函數可計算某個字符串,并執行其中的的 JavaScript 代碼。 4 /*自定義函數*/ 5 function test(str) 6 alert(str); 7 8 window.alert(test);/輸出test函數的定義 9 /函數的調用方式110 test("孤傲蒼狼");11 /函數的調用方式212 var myFunction=test;13 myFunction("白虎神
26、皇");14 window.alert(myFunction);15 /*當函數無明確返回值時,返回的也是值 "undefined"*/16 var retVal=test("test");/test函數執行完之后,并沒有返回值,因此retVal變量接收到的返回值結果是undefined17 alert("retVal="+retVal);/輸出undefined18 </script>復制代碼 五、函數的深入使用5.1、可變參數函數的參數列表可以是任意多個,并且數據類型可以是任意的類型,JavaScript的函
27、數天然支持可變參數,JavaScript有一個arguments變量可以訪問所有傳到函數內部的參數。范例:JavaScript使用arguments創建參數可變的函數復制代碼 1 <script type="text/javascript"> 2 /*add函數是一個參數可變的函數*/ 3 function add() 4 var result=0; 5 for(var i=0;i<arguments.length;i+) 6 /alert(argumentsi); 7 result+=argumentsi; 8 9 10 return result;11
28、 12 alert("add(1,2,3)="+add(1,2,3);/調用add函數時傳入3個參數13 alert("add(1,2,3,4,5,6)="+add(1,2,3,4,5,6);/調用add函數時傳入6個參數14 alert("add()="+add();/調用add函數時不傳入參數15 alert("add(1,"HelloWorld")="+add(1,"HelloWorld");/調用add函數時傳入不同類型的參數16 </script>復制代
29、碼運行結果:5.2、javascript創建動態函數JavaScript支持創建動態函數,動態函數必須用Function對象來定義(Function是javascript中的一個對象,是固定不變的,規定Function對象的"F"必須大寫,當是function的時候,我們知道是定義函數的時候所使用的一個關鍵字:function funName(x,y),當是Function的時候(F大寫的時候),我們知道是javascript中的對象)創建動態函數的基本格式:var 變量名 = new Function("參數1","參數2",&qu
30、ot;參數n","執行語句");使用new關鍵字(new是javascript中一個關鍵字,也是固定的,我們在定義動態函數的時候必須要使用new來創建這個Function對象)我們先定義一個變量: var 變量名,在這里,變量名是隨便的,然后我們再使用new關鍵字創建一個Function對象,然后再把這個對象賦值給這個任意的變量,也就是:var 變量名 = new Function("參數1","參數2","參數n","執行語句");Function后面的括號里先是傳遞給函數的參數,然
31、后用一個逗號(,)隔開然后是這個函數要執行的功能的代碼看下面的一段代碼:1 <script type="text/javascript">2 var square = new Function ("x","y","var sum ; sum = x+y;return sum;");3 alert("square(2,3)的結果是:"+square(2,3);4 </script>square是動態創建的函數,在Function對象后面的括號里的每一部分內容都必須是字符串形
32、式的,也就是說都必須用引號(""或者是'')括起來,第一部分是傳遞給這個動態函數的第一個參數“x”,第二部分是傳遞給這個動態函數的第二個參數“y“,第三部分是這個函數要完成的功能的代碼,這個函數要完成的功能是定義一個變量sum,讓sum等于傳遞給這個函數的兩個參數x和y的和,然后返回他們相加以后的值(return sum),調用后運行結果如下:這段代碼:1 var square = new Function ("x","y","var sum ; sum = x+y;return sum;");和下
33、面這段代碼:1 function square (x,y)2 var sum;3 sum = x+y;4 return sum;5 是一摸一樣的,只不過一個是動態函數,一個是靜態函數。那下面我們就來想一下,為什么要用動態函數呢,動態函數有什么特殊的地方有什么優點呢?在靜態函數里是:1 function square (x,y)2 var sum;3 sum = x+y;4 return sum;5 而在動態函數里是:1 new Function ("x","y","var sum ; sum = x+y;return sum;");我
34、們可以看到,每一個句子兩邊都加上了引號"x"還有"y"還有"var sum ; sum = x+y; return sum;"這些兩邊都加上了引號,也就是說在new Function后面的小括號里面的每一個語句兩邊都是有引號的,也就是說他們都是以字符串的形式表示和被調用的,而字符串又是可以由變量來定義或者是改變的,也就是說,我們可以定義變量,讓變量的值等于這些字符串: 1 <script type="text/javascript"> 2 var a = "var sum;" 3 v
35、ar b = "sum = x + y;" 4 var c = "return sum;" 5 var square = new Function ( "x", "y", a+b+c); 6 alert(square (2,3);7 </script>在這里,我們定義了變量a,b,c,我們讓a="var sum;",讓b="sum = x+y;",讓c = "return sum;"這樣:var square = new Function (&
36、quot;x","y","var sum ; sum = x+y;return sum;");我們就可以寫成:var square = new Function ( " x", "y",a+b+c);因為a,b,c是三個字符串,字符串相加得到的還是字符串。我們為什么要把代碼分成一小段一小段的代碼呢?,把一個字符串分成了若干個獨立的字符串的優點就在于我們可以通過修改其中的某些字符串來隨時改變函數的作用。例如:復制代碼 1 <script type="text/javascript"> 2 var a = "var sum;" 3 var b = "sum = x + y;" 4 var c = "return sum;&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級信息技術上冊 第十二課 我做小玩具教學設計 華中師大版
- 七年級生物上冊 第一單元 第1章 第1節 生物的特征教學設計 (新版)新人教版
- 人教版六年級音樂下冊 第四單元唱歌《愛我中華》教學設計
- 婦幼保健院醫療保健技術培訓
- 七年級地理下冊 第四章 第二節 土地資源與農業教學設計 中圖版
- 冀教版(2024)七年級上冊(2024)5.3 解一元一次方程教學設計
- 七年級數學下冊 第六章 實數6.2 立方根教學設計 (新版)新人教版
- 人教2011課標版地理七年級下:6.2 亞洲的自然環境 教學設計
- 人教版 (新課標)七年級下冊第四單元 生物圈中的人第一章 人的由來第一節 人的起源和發展教案配套
- 初中政治思品人教部編版七年級上冊(道德與法治)享受學習教案設計
- 血液透析操作流程(共5篇)
- 脊柱常見病變的影像診斷
- 紀錄片賞析完整版
- GB/T 30103.1-2013冷庫熱工性能試驗方法第1部分:溫度和濕度檢測
- GB/T 21385-2008金屬密封球閥
- GB/T 211-2017煤中全水分的測定方法
- (紅皮書)水利水電工程施工質量評定表
- 工序標準工時及產能計算表
- 處分通報范文員工處分通報范文4篇
- 汽車品牌馬自達課件
- (新版)內科主治醫師中級職稱(代碼303)醫學衛生資格考試題庫(真題導出版)
評論
0/150
提交評論