Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29309517
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2008-11-24 11:46:56

1. /*
 由于javascript是一种无类型语言,所以一个数组的元素可以具有任意的数据类型,同一个数组的不同元素
 可以具有不同的类型,数组的元素设置可以包含其他数组,这样就可以创建一个复杂的数组了.
 并且在这点上说javascript作为一种脚本语言不同于那种严格的面向对象的c++.c#,java了.具有更高的灵活性.
 */
/*
 *在javascript1.1和其后的版本中,数组是用构造函数Array()和运算符new来创建,
 可用以下的三种方式来创建javascript 中的数组.
 */
 var a=new Array();
 var b=new Array(5,4,3,"first","test,string");
 var c=new Array(20);

介绍如下几个方面的内容:

  1.如何创建数组

  2.如何对数组进行操作(添加,删除,读取)

  3.数组常见方法和属性

  如何创建一个数组,一般地根据初始化设定简单分为3种:

  1.单纯创建数组:

  var arr=new Array();

  要点:用new关键字创建数组对象Array(),Array()对象是一个本地类,可以用new创建一个对象后使用

  2.创建数组的同时规定数组大小:

  var arr=new Array(10);//这里就创建了一个初始化大小为10的数组

  注意:当使用数组大小操作初始化大小时,数组会自动被撑大,不会像C语言那样发生错误.动态增长是js数组的一个性质.另外,js中支持最大数组长度为4294967295

  3.直接初始化:

  var arr=new Array("草履虫","爱","毛毛");//这里就直接初始化了数组

  或var arr=["草履虫","爱","毛毛"];//括号也可以声明一个数组对象

  当然,类似C语言,你也可以定义2维3维和多维的数组,这里不讨论.

  数组的属性:length

  arr.length返回数组arr的长度,常见于循环中对数组的遍历,比如:

for(var i=0;i执行部分
}

  数组元素的访问: arr[index],其中index表示索引即数组基数,从0开始,共有arr.length个元素.比如: arr[0]访问第一个数组元素,arr[1]访问第二个数组元素....依次类推 数组的操作方法:先概览下下面的这些操作数组常用的方法(13个)

toString(),valueOf(),toLocalString(),join(),split(),slice(),concat(),
pop(),push(),shift(),unshift(),sort(),splice()

  下面逐一分析这些方法的功能和用法.

  toString(),valueOf(),toLocalString():

  功能:返回数组的全部元素

  注:数组名也可以返回整个数组

  代码:

  var m=["am","bm","cm"];//用括号声明一个数组对象  

  alert(m.toString());//toString()返回数组对象的所有内容,用逗号分割,即am,bm,cm  

  alert(m.valueOf());//valueOf()也返回数组对象的所有内容  

  alert(m.toLocaleString());//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究  

  alert(m);//数组名也返回数组对象的所有内容 

var m=["am","bm","cm"];//用括号声明一个数组对象 alert(m.toString());//toString()返回数组对象的所有内容,用逗号分割,即am,bm,cm alert(m.valueOf());//valueOf()也返回数组对象的所有内容 alert(m.toLocaleString());//toLocaleString()也返回数组对象的所有内容,但有地区语言区别,暂不研究 alert(m);//数组名也返回数组对象的所有内容运行:

join():

  功能:把数组各个项用某个字符(串)连接起来,但并不修改原来的数组

  代码:

  var m=["am","bm","cm"];//用括号声明一个数组对象  

  var n=m.join("---");//用---连接am,bm,cm.  

  alert(m.toString());//m并没有被修改,返回am,bm,cm  

  alert(n);//n是一个字符串,为am---bm---cm 

var m=["am","bm","cm"];//用括号声明一个数组对象 var n=m.join("---");//用---连接am,bm,cm. alert(m.toString());//m并没有被修改,返回am,bm,cm alert(n);//n是一个字符串,为am---bm---cm运行:

  split():

  功能:把一个字符串按某个字符(串)分割成一个数组,但不修改原字符串

  代码:

  var str="I love maomao,I am caolvchong";  

  var arr=str.split("o");//按字符o把str字符串分割成一个数组  

  alert(arr);//输出整个数组 

var str="I love maomao,I am caolvchong"; var arr=str.split("o");//按字符o把str字符串分割成一个数组 alert(arr);//输出整个数组运行:

  slice():返回某个位置开始(到某个位置结束)的数组部分,不修改原数组

  代码:

  var m=["am","bm","cm","dm","em","fm"];  

  var n=m.slice(2);//返回第二个元素bm后面的元素,即cm,dm,em,fm  

  var q=m.slice(2,5);//返回第二个元素后到第五个元素,即cm,dm,em  

  alert(n);  

  alert(q); 

var m=["am","bm","cm","dm","em","fm"]; var n=m.slice(2);//返回第二个元素bm后面的元素,即cm,dm,em,fm var q=m.slice(2,5);//返回第二个元素后到第五个元素,即cm,dm,em alert(n); alert(q);运行:

数组对象的栈操作:

  push():数组末尾添加一个项

  pop():删除数组最后一个项

  代码:

  var m=["am","bm","cm","dm","em","fm"];  

  m.push("gm");//在数组末尾添加元素gm  

  alert(m);  

  m.pop();//删除数组最后一个元素gm  

  alert(m); 

var m=["am","bm","cm","dm","em","fm"]; m.push("gm");//在数组末尾添加元素gm alert(m); m.pop();//删除数组最后一个元素gm alert(m);运行:

  数组对象的队列操作:

  unshift():数组头添加一个项

  shift():删除数组第一个项

  代码:

  var m=["am","bm","cm","dm","em","fm"];  

  m.unshift("gm");//在数组第一个元素位置添加元素gm  

  alert(m);  

  m.shift();//删除数组第一个元素gm  

  alert(m); 

var m=["am","bm","cm","dm","em","fm"]; m.unshift("gm");//在数组第一个元素位置添加元素gm alert(m); m.shift();//删除数组第一个元素gm alert(m);运行:

  sort():数组按字符的ASCII码进行排序,修改数组对象

  注:即便是数字数组,也将转化为字符串来进行比较排序

  代码:

  var m=["am","fm","gm","bm","em","dm"];  

  m.sort();//按字母序排序  

  alert(m); 

var m=["am","fm","gm","bm","em","dm"]; m.sort();//按字母序排序 alert(m);运行:

  concat():在数组尾添加元素,但不修改数组对象

  代码:

  var m=["am","bm"]  

  var n=m.concat("cm");//添加一项cm,并且赋予新数组对象  

  alert(m);//原数组没有被修改  

  alert(n);//输出新数组对象 

var m=["am","bm"] var n=m.concat("cm");//添加一项cm,并且赋予新数组对象 alert(m);//原数组没有被修改 alert(n);//输出新数组对象运行:

  splice():在数组的任意位置进行添加,删除或者替换元素,直接修改数组对象

  细节:

  splice()有三个参数或三个以上参数,前两个是必须的,后面参数是可选的

  进行添加:splice(起始项,0,添加项)

  进行删除:splice(起始项,要删除的项个数)

  进行替换:splice(起始项,替换个数,替换项) 这个其实是添加删除的共同结果

  代码:

  var m=["am","bm"]  

  m.splice(1,0,"fm","sm");//在第一项后面添加fm和sm,返回am,fm,sm,bm  

  alert(m);  

  m.splice(2,1);//删除第二项后面一项(即第三项sm,返回am,fm,bm)  

  alert(m);  

  m.splice(2,1,"mm");//替换第二项后面一项(即第三项,返回am,fm,mm)  

  alert(m); 

var m=["am","bm"] m.splice(1,0,"fm","sm");//在第一项后面添加fm和sm,返回am,fm,sm,bm alert(m); m.splice(2,1);//删除第二项后面一项(即第三项sm,返回am,fm,bm) alert(m); m.splice(2,1,"mm");//替换第二项后面一项(即第三项,返回am,fm,mm) alert(m);运行:




阅读(1492) | 评论(0) | 转发(0) |
0

上一篇:页面编码问题总结

下一篇:学习div+css之一

给主人留下些什么吧!~~