牛骨文教育服务平台(让学习变的简单)

ECMAScript中没有提供类和接口等的定义,但它却是一门面向对象的语言,因为它可以通过其他方式实现类似高级语言的面向对象功能,这些内容将在后面的文章中进行一步步的总结。此篇仅对JS中对象作简要说明,重点汇总一些类似于对象的数组的常用方法。

对象

创建

上篇提到创建对象的两种方式:

使用new运算符创建Object   

var obj = new Object();

使用字面量方式创建                   

var  obj = {};

这里值得注意的是在使用字面量(常量)创建Object时不会调用构造函数。

属性和方法

添加:

使用new创建后的添加方式

obj.name = "张三"

 obj.run =function(){

 return"";

}

使用字面量创建方式


var obj = {

name : "张三";

run : function(){

return "";

}

};

 注意点:使用数组方式也可进行属性的输出obj["name"];使用delete关键字可进行对象属性的删除

数组

Array类型与Object一样,同样是引用类型,而ESMAScript中的数组不同于其他语言中的数组,其中元素可以保存任何类型,该区别源于ESMAScript的变量类型松散性。

创建(与Object类型类似,数组的创建分为两种方式)

使用new关键字

var arr = new Array();

var   arr = new Array(10);

 var arr =new Array("张三","李四","王五");

使用字面量

var arr = [];

 var  arr = ["张三","李四","王五"];

使用

使用下标进行读取

alert(arr[2]);        //输出"王五"

使用length属性获取数组元素个数

内置方法

转换

toString()、valueOf()、toLocaleString()

三个方法会返回相同的值,输出对象或数组信息时为默认调用方法

数组分隔符设置方法,默认为","如需修改可调用join()方法

var  arr = ["张三","李四","王五"];

alert(arr.join("|"));            //输出张三|李四|王五

栈、队列(数组)

push()/pop()

push()/shift()

类似于栈、队列对数组元素进行的操作,与shift()对应的另外一方法是unshift(),为数组前端添加元素。需要说明的是添加元素的方法会返回数组长度,删除元素的方法会返回删除的元素。

重排序

逆序reverse()、正序sort()

小结:                 

不得不说,ECMAScript为数组提供了很多方法,这些也只有到以后的实践中逐步应用与探索了。