Javascript中的对象和数组学习总结(一)
一.Object 类型
1.使用 new 运算符创建 Object
var box = new Object();
box.name = 'heaven';
box.age = 21;
2.new 关键字可以省略
var box = Object();
3.使用字面量方式创建 Object
var box = {
name : 'heaven',
age : 21
};
4.属性字段也可以使用字符串
var box = {
'name' : 'heaven',
'age' : 21
};
5.使用字面量及传统赋值方式
var box = {};
box.name = 'heaven';
box.age = 21;
6.两种属性输出方式
alert(box.age);
alert(box['age']);
7.给对象创建方法
var box = {
run : function () {
return '跑';
}
}
alert(box.run());
8.使用 delete 删除对象属性
delete box.name;
使用实例:
function box(obj) {
if (obj.name != undefined) alert(obj.name); //判断属性是否存在
if (obj.age != undefined) alert(obj.age);
}
box({
name : 'heaven',
age : 21
});
二.Array 类型
1.使用 new 关键字创建数组
var box = new Array();
var box = new Array(10);
var box = new Array('heaven',28);
2.以上三种方法,可以省略 new 关键字。
var box =Array();
3 使用字面量方式创建数组
var box = [];
var box = ['heaven',21];
4.使用索引下标来读取数组的值
alert(box[1]);
box[1] = '学生';
box[2] = '电子商务';
5.使用 length 属性获取数组元素量
alert(box.length)
box.length = 10;
box[box.length] = 'JS 技术';
6.数组示例
var box = [
{
name : 'heaven',
age : 21,
run : function () {
return '跑';
}
},
['百度','谷歌',new Object()],'淘宝',
25+25,
new Array(3,2,7)
];
alert(box);
三.对象中的方法
转换方法
对象或数组都具有toLocaleString()、 toString()和valueOf()方法。 其中toString()和valueOf()
无论重写了谁,都会返回相同的值。数组会讲每个值进行字符串形式的拼接,以逗号隔开。
var box = ['heaven',21,'电子商务'];
alert(box);
alert(box.toString());
alert(box.toLocaleString());
默认情况下,数组字符串都会以逗号隔开。如果使用 join()方法,则可以使用不同的分
隔符来构建这个字符串。
var box = ['heaven', 21, '电子商务'];
alert(box.join('|'));
栈方法
Javascript为数组专门提供了 push()和 pop()方法。
push()方法可以接收任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数
组的长度。而 pop()方法则从数组末尾移除最后一个元素,减少数组的 length 值,然后返回
移除的元素。
var box = ['heaven', 21, '电子商务'];
alert(box.push('学生'));
alert(box);
box.pop();
alert(box);
队列方法 www.2cto.com
栈方法是后进先出,而列队方法就是先进先出。列队在数组的末端添加元素,从数组的
前端移除元素。通过 push()向数组末端添加一个元素,然后通过 shift()方法从数组前端移除
一个元素。
var box = ['heaven', 21, '电子商务'];
alert(box.push('学生'));
alert(box);
alert(box.shift());
alert(box);
Javascript 还为数组提供了一个 unshift()方法,它和 shift()方法的功能完全相反。
unshift()方法为数组的前端添加一个元素。
var box = ['heaven', 21, '电子商务'];
alert(box.unshift('学生,'学习'));
alert(box);
alert(box.pop());
alert(box);
重排序方法
数组中已经存在两个可以直接用来排序的方法:reverse()和 sort()。
reverse() 逆向排序
var box = [1,2,3,4,5];
alert(box.reverse());
alert(box);
sort() 从小到大排序
var box = [4,1,7,3,9,2];
alert(box.sort());
alert(box);
sort 方法的默认排序在数字排序上有些问题,因为数字排序和数字字符串排序的算法是
一样的。我们必须修改这一特征,修改的方式,就是给 sort(参数)方法传递一个函数参数。
这点可以参考手册说明。
function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
var box = [0,1,5,10,15];
alert(box.sort(compare));
操作方法
Javascript 为操作已经包含在数组中的元素提供了很多方法。 concat()方法可以基于当
前数组创建一个新数组。 slice()方法可以基于当前数组获取指定区域元素并创建一个新数组。
splice()主要用途是向数组的中部插入元素。
var box = ['heaven', 21, '电子商务'];
var box2 = box.concat('学生');
alert(box2);
alert(box);
var box = ['heaven', 21, '电子商务'];
var box2 = box.slice(1);
alert(box2);
alert(box);
splice 中的删除功能:
var box = ['heaven', 21, '电子商务'];
var box2 = box.splice(0,2);
alert(box2);
alert(box);
splice 中的插入功能:
var box = ['heaven', 21, '电子商务'];
var box2 = box.splice(1,0,'学生','学习');
alert(box2);
alert(box);
splice 中的替换功能:
var box = ['heaven', 21, '电子商务'];
var box2 = box.splice(1,1,'学生');
alert(box2);
alert(box);
摘自 曙暮辉弧