JavaScript数组.docx

上传人:b****5 文档编号:7361892 上传时间:2023-05-11 格式:DOCX 页数:14 大小:20.64KB
下载 相关 举报
JavaScript数组.docx_第1页
第1页 / 共14页
JavaScript数组.docx_第2页
第2页 / 共14页
JavaScript数组.docx_第3页
第3页 / 共14页
JavaScript数组.docx_第4页
第4页 / 共14页
JavaScript数组.docx_第5页
第5页 / 共14页
JavaScript数组.docx_第6页
第6页 / 共14页
JavaScript数组.docx_第7页
第7页 / 共14页
JavaScript数组.docx_第8页
第8页 / 共14页
JavaScript数组.docx_第9页
第9页 / 共14页
JavaScript数组.docx_第10页
第10页 / 共14页
JavaScript数组.docx_第11页
第11页 / 共14页
JavaScript数组.docx_第12页
第12页 / 共14页
JavaScript数组.docx_第13页
第13页 / 共14页
JavaScript数组.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JavaScript数组.docx

《JavaScript数组.docx》由会员分享,可在线阅读,更多相关《JavaScript数组.docx(14页珍藏版)》请在冰点文库上搜索。

JavaScript数组.docx

JavaScript数组

JavaScript数组

  JavaScript中的Array对象就是数组,首先是一个动态数组,无需预先制定大小,而且是一个像Java中数组、ArrayList、Hashtable等的超强综合体。

一、数组的声明

  常规方式声明:

    1、vararrName=newArray();//创建一个数组

    2、vararrName=newArray([size]); //创建一个数组并指定长度,注意不是上限,是长度

    3、vararrName=newArray("孤傲苍狼","白虎神皇","灭世魔尊");//创建一个数组,并初始化数组的内容

  注意:

虽然vararrName=newArray([size]);指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为2,仍然可以将元素存储在规定长度以外的,注意:

这时长度会随之改变。

  Array的简化声明

    1、普通数组初始化:

vararr=[3,5,6,8,9];

范例1:

复制代码

1

2//JavaScript声明数组的四种方式

3vararr1=newArray();//创建一个空数组

4arr1[0]="xdp";

5arr1[1]="gacl";

6vararr2=newArray

(2);//创建一个数组并指定长度为2

7arr2["name0"]="xdp";//arr2第一个元素

8arr2["name1"]="gacl";//arr2第二个元素

9arr2["name2"]="xtxd";//arr2第三个元素,arr2虽然在声明时指明了长度为2,但是还是可以添加超过其指明长度的元素

10vararr3=newArray("孤傲苍狼","白虎神皇","灭世魔尊");//创建一个数组并初始化数组中的元素

11vararr4=[1,true,"String"];//Array的简化声明

12

13document.write("遍历arr1中的元素:


");

14for(variinarr1){

15document.write(arr1[i]+"
");

16}

17document.write("-----------------------------------------------------------------------------
");

18document.write("遍历arr2中的元素:


");

19for(variinarr2){

20document.write("arr2[\""+i+"\"]="+arr2[i]+"
");

21}

22document.write("-----------------------------------------------------------------------------
");

23document.write("遍历arr3中的元素:


");

24for(variinarr3){

25document.write(arr3[i]+"
");

26}

27document.write("-----------------------------------------------------------------------------
");

28document.write("遍历arr4中的元素:


");

29for(variinarr4){

30document.write(arr4[i]+"
");

31}

32

复制代码

运行结果:

  

范例2:

复制代码

1

2varnames=newArray();//普通方式声明数组,不需要指明数组的长度

3names[0]="孤傲苍狼";

4names[1]="白虎神皇";

5names[2]="灭世魔尊";

6for(vari=0;i

7document.write("names["+i+"]="+names[i]);

8document.write("
");

9}

10

11varpinyins=newArray();

12pinyins["人"]="ren";

13pinyins["口"]="kou";

14pinyins["手"]="shou";

15document.write("pinyins[\"人\"]="+pinyins["人"]);

16document.write("
");

17document.write("pinyins.手="+pinyins.手);//像Hashtable、Dictionary那样用,而且像它们一样效率高。

18document.write("
");

19//Array的简化声明

20vararr1=[3,5];//普通数组初始化

21for(vari=0;i

22document.write("arr1["+i+"]="+arr1[i]);

23document.write("
");

24}

25

复制代码

运行结果:

  

二、数组练习

  Ferris写过一个数组的案例,以下就是他的案例代码,挺全的,思路也挺好!

复制代码

1

DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:

//TR/xhtml1/DTD/xhtml1-transitional.dtd">

2

3

4数组练习:</p><p>各种数组方法的使用

5

8

9window.onload=function()

10{

11varaDiv=document.getElementsByTagName("div");

12varaInput=document.getElementsByTagName("input");

13vari=0;

14varbS1=bS2=true;

15varaTmp=[];

16

17//删除/添加第一项

18aInput[0].onclick=function()

19{

20aTmp=getArray(aDiv[0].innerHTML);

21bS1?

22//删除第一项,shift()方法

23(aTmp.shift(),this.value=this.value.replace("删除","添加"),bS1=false):

24//添加第一项,unshift()方法

25(aTmp.unshift("January

(1)"),this.value=this.value.replace("添加","删除"),bS1=true);

26//输出

27aDiv[0].innerHTML=aTmp.join()

28};

29

30

31//删除/添加最后一项

32aInput[1].onclick=function()

33{

34aTmp=getArray(aDiv[0].innerHTML);

35bS2?

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=true);

40//输出

41aDiv[0].innerHTML=aTmp.join()

42};

43

44

45//复制,concat()方法

46aInput[2].onclick=function()

47{

48aTmp=getArray(aDiv[1].innerHTML);

49//输出

50aDiv[1].innerHTML=aTmp.concat(aTmp).toString().replace(/\s/g,"")

51};

52

53

54//还原,利用数组的length特点

55aInput[3].onclick=function()

56{

57aTmp=getArray(aDiv[1].innerHTML);

58//设置数组长度

59aTmp.length=10;

60//输出

61aDiv[1].innerHTML=aTmp.join()

62};

63

64

65//第三组数据还原

66aInput[4].onclick=function()

67{

68aTmp=["red","green","blue","white","yellow","black","brown"];

69//输出

70aDiv[2].innerHTML=aTmp.join()

71};

72

73

74//删除前三项

75aInput[5].onclick=function()

76{

77aTmp=getArray(aDiv[2].innerHTML);

78//删除,0开始,删除3个

79aTmp.splice(0,3);

80//输出

81aDiv[2].innerHTML=aTmp.join()

82};

83

84

85//删除第二至三项

86aInput[6].onclick=function()

87{

88aTmp=getArray(aDiv[2].innerHTML);

89//删除,2开始,删除2个

90aTmp.splice(1,2);

91//输出

92aDiv[2].innerHTML=aTmp.join()

93};

94

95

96//在第二顶后插入"orange","purple"

97aInput[7].onclick=function()

98{

99aTmp=getArray(aDiv[2].innerHTML);

100//插入,2开始,插入"orange","purple"

101aTmp.splice(1,0,"orange","purple");

102//输出

103aDiv[2].innerHTML=aTmp.join()

104};

105

106

107//替换第二项和第三项

108aInput[8].onclick=function()

109{

110aTmp=getArray(aDiv[2].innerHTML);

111//插入,2开始替换

112aTmp.splice(1,2,"#009900","#0000ff");

113//输出

114aDiv[2].innerHTML=aTmp.join()

115};

116

117//将div中的内容转为数组

118//strdiv对象

119functiongetArray(str)

120{

121aTmp.length=0;

122str=str.split(",");

123for(variinstr)aTmp.push(str[i]);

124returnaTmp

125}

126}

127

128

129

130

January

(1),February

(2),March(3),April(4),May(5),June(6),July(7),Aguest(8),September(9),October(10),November(11),December(12)

131

(1)"type="button">

132

133

0,1,2,3,4,5,6,7,8,9

134

135

136

red,green,blue,white,yellow,black,brown

137

138

139

140

141

142

143

144

JavaScript函数(function)

一、函数基本概念

  为完成某一功能的程序指令(语句)的集合,称为函数。

二、JavaScript函数的分类

  1、自定义函数(我们自己编写的函数),如:

functionfunName(){}

  2、系统函数(JavaScript自带的函数),如alert函数。

三、函数的调用方式

  1、普通调用:

functionName(实际参数...)

  2、通过指向函数的变量去调用:

      varmyVar=函数名;

      myVar(实际参数...);

四、函数返回值

  1.当函数无明确返回值时,返回的值就是"undefined"。

  2.当函数有返回值时,返回值是什么就返回什么。

函数测试代码:

复制代码

1

2varstr="window.alert('孤傲苍狼');";

3eval(str);//eval()函数可计算某个字符串,并执行其中的的JavaScript代码。

4/*自定义函数*/

5functiontest(str){

6alert(str);

7}

8window.alert(test);//输出test函数的定义

9//函数的调用方式1

10test("孤傲苍狼");

11//函数的调用方式2

12varmyFunction=test;

13myFunction("白虎神皇");

14window.alert(myFunction);

15/*当函数无明确返回值时,返回的也是值"undefined"*/

16varretVal=test("test");//test函数执行完之后,并没有返回值,因此retVal变量接收到的返回值结果是undefined

17alert("retVal="+retVal);//输出undefined

18

复制代码

五、函数的深入使用

5.1、可变参数

  函数的参数列表可以是任意多个,并且数据类型可以是任意的类型,JavaScript的函数天然支持可变参数,JavaScript有一个arguments变量可以访问所有传到函数内部的参数。

范例:

JavaScript使用arguments创建参数可变的函数

复制代码

1

2/*add函数是一个参数可变的函数*/

3functionadd(){

4varresult=0;

5for(vari=0;i

6//alert(arguments[i]);

7result+=arguments[i];

8}

9

10returnresult;

11}

12alert("add(1,2,3)="+add(1,2,3));//调用add函数时传入3个参数

13alert("add(1,2,3,4,5,6)="+add(1,2,3,4,5,6));//调用add函数时传入6个参数

14alert("add()="+add());//调用add函数时不传入参数

15alert("add(1,\"HelloWorld\")="+add(1,"HelloWorld"));//调用add函数时传入不同类型的参数

16

复制代码

运行结果:

5.2、javascript创建动态函数

  JavaScript支持创建动态函数,动态函数必须用Function对象来定义(Function是javascript中的一个对象,是固定不变的,规定Function对象的"F"必须大写,当是function的时候,我们知道是定义函数的时候所使用的一个关键字:

functionfunName(x,y),当是Function的时候(F大写的时候),我们知道是javascript中的对象)

  创建动态函数的基本格式:

var变量名=newFunction("参数1","参数2","参数n","执行语句");

  使用new关键字(new是javascript中一个关键字,也是固定的,我们在定义动态函数的时候必须要使用new来创建这个Function对象)

  我们先定义一个变量:

var变量名,在这里,变量名是随便的,然后我们再使用new关键字创建一个Function对象,然后再把这个对象赋值给这个任意的变量,也就是:

var变量名=newFunction("参数1","参数2","参数n","执行语句");Function后面的括号里先是传递给函数的参数,然后用一个逗号(,)隔开然后是这个函数要执行的功能的代码

看下面的一段代码:

1

2varsquare=newFunction("x","y","varsum;sum=x+y;returnsum;");

3alert("square(2,3)的结果是:

"+square(2,3));

4

  square是动态创建的函数,在Function对象后面的括号里的每一部分内容都必须是字符串形式的,也就是说都必须用引号(""或者是'')括起来,第一部分是传递给这个动态函数的第一个参数“x”,第二部分是传递给这个动态函数的第二个参数“y“,第三部分是这个函数要完成的功能的代码,这个函数要完成的功能是定义一个变量sum,让sum等于传递给这个函数的两个参数x和y的和,然后返回他们相加以后的值(returnsum),调用后运行结果如下:

  

这段代码:

1varsquare=newFunction("x","y","varsum;sum=x+y;returnsum;");

和下面这段代码:

1functionsquare(x,y){

2varsum;

3sum=x+y;

4returnsum;

5}

是一摸一样的,只不过一个是动态函数,一个是静态函数。

那下面我们就来想一下,为什么要用动态函数呢,动态函数有什么特殊的地方有什么优点呢?

在静态函数里是:

1functionsquare(x,y){

2varsum;

3sum=x+y;

4returnsum;

5}

而在动态函数里是:

1newFunction("x","y","varsum;sum=x+y;returnsum;");

  我们可以看到,每一个句子两边都加上了引号"x"还有"y"还有"varsum;sum=x+y;;returnsum;"这些两边都加上了引号,也就是说在newFunction后面的小括号里面的每一个语句两边都是有引号的,也就是说他们都是以字符串的形式表示和被调用的,而字符串又是可以由变量来定义或者是改变的,也就是说,我们可以定义变量,让变量的值等于这些字符串:

1

2vara="varsum;";

3varb="sum=x+y;";

4varc="returnsum;";

5varsquare=newFunction("x","y",a+b+c);

6alert(square(2,3));7

  在这里,我们定义了变量a,b,c,我们让a="varsum;",让b="sum=x+y;",让c="returnsum;"

  这样:

varsquare=newFunction("x","y","varsum;sum=x+y;returnsum;");

  我们就可以写成:

varsquare=newFunction("x",

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2