什么是一种类型,就是一种引用类型。而对象的值就是引用类型的实例。在ECMAScript中引用类型是一种数据结构,用于将数据和功能组织在一起。它也常被称做为类,但ECMAScript中却没有这种东西。虽然ECMAScript是一门面向对象的语言,却不具备传统面向对象语言所支持的类和接口等基本结构。
一.Object类型
我们使用的引用类型最多的可能就是Object类型了。虽然Object的实例不具备多少功能,但对于在应用程序中的存储和传输数据而言,它确实是非常理想的选择。创建Object类型有两种。一种是使用new运算符,一种是字面量表示法。
1.使用new运算符创建Object
var box = new Object();//new关键字可以省略
box.name = 'MyName';//创建属性字段
2.使用字面量方式创建Object
var box = {name : 'MyName',age : 28};
3.使用字面量及传统赋值方式
var box = {};//字面量方式声明空的对象
box.name = 'MyName';
4.获取属性都方法
alert(box.age); //点表示法输出
alert(box['age']);//中括号表示法输出,字段名必须用引号包含
在使用字面量声明Object对象时,不会调用Object()构造函数(Firefox除外)。
5.给对象创建方法
var box = {
run : function () {return '运行';}
}
box.run(); //调用对象中的方法
6.使用delete删除对象属性
delete box.name;//删除属性
在实际开发过程中,一般我们更加喜欢字面量的声明方式。因为它清晰,语法代码少。字面量也是向函数传递大量可选参数的首选方式。
二.Array类型
ECMAScript中的Array类型和其他语言中的数组有着很大的区别。虽然数组都是有序排列,但ECMAScript中的数组每个元素可以保存任何类型。ECMAScript中数组的大小也是可以调整的。创建Array类型有两种方式:第一种是new运算符,第二种是字面量。
1.使用new关键字创建数组(new关键字可以省略)
var box = new Array();//创建了一个数组
var box = new Array(10);//创建一个包含10个元素的数组
var box = new Array('MyName',20,'zhiye','home');//创建一个数组并分配好元素
2.使用字面量方式创建数组
var box = ['MyName',20,'zhiye','home'];
var box = [1,2,];//禁止这么做,IE会识别3个元素
var box = [,,,,,];//同样,IE的会有识别问题
和Object一样,字面量的写法不会调用Array()构造函数。(Firefox除外)。
3.使用索引下标来读取数组的值
alert(box[2]);//获取第三个元素
box[2] = '学生';//修改第三个元素
box[4] = '计算机编程';//增加第五个元素
4.使用length属性获取数组元素量
alert(box.length)//获取元素个数
box.length = 10;//强制元素个数
box[box.length] = 'JS学习';//通过length给数组增加一个元素
数组最多可包含4294967295个元素,超出即会发生异常。
5.获取数组的指定片段
arrayObject.slice(start,end)
返回值:返回一个新的数组,包含从start到end(不包括该元素)的数组片段。 start必需。规定从何处开始选取。如果是负数从数组尾部开始算。 end可选。规定从何处结束选取。如果没有指定那么切分到结束。如果是负数,那么是从数组尾部开始算起的元素。
6.合并数组
arrayObject.concat(arrayX,arrayX,...)
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
7.逆向数组
arrayObject.reverse(),可以逆向排序数组元素
该方法会改变原来的数组,而不会创建新的数组。
- 本文固定链接: https://www.qingheluo.com/javascriptzhongdeduixiangheshuzu/
- 转载请注明: qingheluo 于 清河洛 发表