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‘];使用deletekeyword可进行对象属性的删除
数组
Array类型与Object一样,相同是引用类型,而ESMAScript中的数组不同于其它语言中的数组,当中元素能够保存不论什么类型,该差别源于ESMAScript的变量类型松散性。
创建(与Object类型类似,数组的创建分为两种方式)
使用newkeyword
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为数组提供了非常多方法,这些也仅仅有到以后的实践中逐步应用与探索了。