Array类型:

  ECMAScript数组的每一项可以保存任何类型的数据,数组的大小是可以动态调整的。

创建数组的基本方式:

(1)使用Array构造函数

 var color=new Array();

注意:

  给构造函数传递一个值时,如果传递的是数值,则会按照该数值创建包含给定项数的数组;如果传递的是其他类型的参数,则会创建包含那个值的只有一项的数组。

eg:

 var color=new Array(3);//创建一个包含3项的数组
var name=new Array("Mary");//创建包含一项,即字符串“Mary”的数组

使用Array构造函数也可以省略new操作符:

eg:

 var name=Array("Mary");//创建包含一项,即字符串“Mary”的数组
alert(name);

(2)使用数组字面量表示法:

eg:

 var color=["red","blue","green"];
var names=[];//创建一个空数组
var values=[1,2,];//不要这样,会创建包含2项或是3项的数组
var opyions=[,,,,,];//不要这样,会创建包含5项或是6项的数组

注意:

  (1)如上例子中的第三行,在IE中,values会成为一个包含3个项且每一项的值分别是1,2和undefined的数组,在其他浏览器中,values会成为一个包含2项的数组,值分别是1和2。原因是IE8及之前的版本中的ECMAScript实现数组字面量方面存在bug。

  (2)与对象一样,使用数组字面量表示法,也不会调用Array构造函数。(Firefox3及更早的版本除外。)

  (3)在读取和设置的值时,要使用方括号提供相应值的基于0的数值索引。

eg:

  var color=["red","blue","green"];
alert(color[0]);//显示第1项
color[2]="black";//修改第3项
color[3]="browm";//新增第4项

  (4)数组的项数保存在其length属性中,这个属性始终会返回0或是更大的数,它不是只读的,因此可以通过设置这个属性,从数组的末尾移除项或是向数组中添加项。

eg:

 var colors=["red","blue","pink"];
alert(colors.length);//
colors.length=2;
alert(colors[2]);
alert(colors.length);//

(4)可以利用length属性在数组末添加新项:

eg:

 var colors=["red"];
colors[colors.length]="black";
colors[colors.length]="pink";
alert(colors.length);//
alert(colors[2]);//pink

  由于数组最后一项的索引始终是length,因此下一新项的位置就是length。每当在数组末尾填加一项后,其length属性都自动更新以反应这一变化。

注意:

  Javascript使用一个32位整数,保存数组的元素个数。这意味着数组的成员最多只有4294967295个(即2的32次方)。。如果想添加的项数超过这个上限值,就会发生异常,而创建一个初始化大小与这个上限值接近的数组,则可能导致运行时间超长的脚本错误。

最新文章

  1. Python之路 day2 文件基础操作
  2. C#窗体文件的操作
  3. PHP内核探索之变量(2)-理解引用
  4. java server
  5. MongoDB数据库的简介及安装
  6. maven docker 操作
  7. SPOJ BOXES
  8. bzoj1816 扑克牌
  9. 有用C函数集锦
  10. android 解释dp,px,pt,sp单位
  11. Linux 命令 - ls: 列出目录内容
  12. LeetCode_Spiral Matrix II
  13. C# 引用类型与值类型在编码上的区别
  14. SpringMvc多视图配置(jsp、velocity、freemarker) velocity在springmvc.xml配置VelocityViewResolver,VelocityConfigurer,FreeMarkerConfigurer,FreeMarkerViewResolver
  15. DSL 系列(1) - 扩展点的论述与实现
  16. nodejs的某些api~(一)node的流2
  17. [转] pytorch指定GPU
  18. CXF整合spring,在tomcat中发布webService
  19. php7内核执行流程(转载留记录)
  20. canvas绘画交叉波浪

热门文章

  1. Maven仓库搭建和配置
  2. Form 表单提交参数
  3. 参数探测(Parameter Sniffing)影响存储过程执行效率解决方案
  4. MySQL 优化之 ICP (index condition pushdown:索引条件下推)
  5. TFS 生成配置
  6. javascript运动学教程
  7. ASP.NET Core "完整发布,自带运行时" 到jexus
  8. MVVM大比拼小结
  9. MySQL基础之索引
  10. CI Weekly #7 | Instgram/Quora 等大公司如何做持续部署?