Javascript学习篇:引用类型——Array类型(1)

什么是引用类型

引用类型是一种数据结构,是将数据和功能组成组织在一起。引用类型有时候也称为对象定义,因为它描述的一类对象所具有的属性和方法。

 构造函数

构造函数本身就是一个函数,只不过是出于创建新对象为目的而定义的;

例: var   person = new   Object();

到目前为止,我们看到的大多数引用类型的值都是Object类型的实例。创建Object实例有两种:

一、 new后跟Object构造函数。

例: var   person = new   Object();

person.nanme = "Chen";

person.age = 23;

二、使用对象字面量表示法;

例 var   person = {

"name":"Chen",

"age":23

};

在对象字面量中,使用逗号来分隔不同的属性,但在最后一个属性时不要加逗号。访问对象属性时使用点表示法,这是很多面向对象语言中通用的语法。

 Array类型

创建数组的方法有两种,一种是使用Array构造函数

例   var   colors = new   Array();

假如知道数组将要保存几个项目,可以在括号内填入项目的个数,也可以向构造函数添加你要保存的项目;

例   var    colors = new Array(3);     //代表你将要保存3个数组

var    colors = new Array("red","blue","green");     //代表创建了3个字符串值数组

在使用Array构造函数时,可以省略new;

创建数组第二种,即数组字面量发;

例 var   colors = ["red","blue","green"] //创建3个字符串的数组

var   name = []; //创建一个空数组

var   options = [ , , , , ] //创建一个包含4项或5项的数组

在读取和设置数组的值时,使用方括号加上其索引值

例 var  colors = ["red","blue","green"];

alert(colors[0]);   // 表示第一项即“red”

colors [2] = "pink";   //修改第三项

colors [3] = "yellow";   //增添第四项

colors.length = 2;   //保留前2项,移除后面的数组

alert(colors[2]);   //undefined

检测数组

判断某个对象是不是数组,使用instanceof 操作符就可以实现

在ECMAscript 3 中,

if(value instanceof Array){

//对数组执行某些操作

}

但是,如果一个网页中存在多个框架,也就是存在两个以上的全局执行环境,从而存在两个以上不同版本的Array构造函数,为了解决这个问题,ECMAscript 5中:

if (Array.isArray(value)){

//对数组执行某些操作

}

这个方法的目的是最终确定某个值到底是不是数组,而不管它是在那个全局执行环境中创建的

  转换方法

所有的对象都是具有转换方法的:toLocalestring()、toString()、valueof

toString():返回由数组中每个值的字符串形式以逗号分隔的字符串;

valueof():返回的还是数组;

toLocaleString():经常返回前面两种方法相同的值,但有时不同。

  栈方法:

栈是一种LIFO(last—in—first—out,后进先出的数据结构,也就是最新添加的项最早被移除)。而栈中的插入和推出只发生在一个位置——栈的顶部

ECMAscript为数组专门提供了这种方法,分别是push()方法和pop()方法,以便实现栈行为。

push()方法:把接收到的参数逐个添加到数组末尾,并返回修改后的数组的长度;

pop()方法:从数组末尾移除最后一项,减少数组的length值,然后返回移除项。

例 var   colors = new   Array(); //创建一个数组

var   count = colors.push("red"."green"); //推入两项

alert(count); // 2

count =  colors.push("black"); //推入另一项

alert(count); // 3

var   item = colors.pop();

alert(item); //"black"

alert(colors.length); //2

陈健的个人博客,记录生活所见所感、学习笔记。专注于Web前端_SEO教程_读书心得。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

返回主页看更多
狠狠的抽打博主 支付宝 扫一扫