对象与方法
一、数组(Array)
1.
使用
new
关键字创建数组
var box = new Array();
//
创建了一个数组
var box = new Array(10);
//
创建一个包含
10
个元素的数组
var box = new Array('
李炎恢
',28,'
教师
','
盐城
');
//
创建一个数组并分配好了元素
2.
以上三种方法,可以省略
new
关键字。
var box = Array();
//
省略了
new
关键字
3
使用字面量方式创建数组
var box = [];
//
创建一个空的数组
var box = ['
李炎恢
',28,'
教师
','
盐城
'];
//
创建包含元素的数组
var box = [1,2,];
//
禁止这么做,
IE
会识别
3
个元素
var box = [,,,,,];
//
同样,
IE
的会有识别问题
PS
:和
Object
一样,字面量的写法不会调用
Array()
构造函数。
(Firefox
除外
)
。
- 使用索引下标来读取数组的值
alert(box[2]);
//
获取第三个元素
box[2] = '
学生
';
//
修改第三个元素
box[4] = '
计算机编程
';
//
增加第五个元素
- 使用length属性获取数组元素量
alert(box.length)
//
获取元素个数
box.length = 10;
//
强制元素个数
box[box.length] = 'JS
技术
';
//
通过
length
给数组增加一个元素
- 创建一个稍微复杂一点的数组
var box = [
{
//
第一个元素是一个对象
name : '
李炎恢
',
age : 28,
run : function () {
return 'run
了
';
}
},
['
马云
','
李彦宏
',new Object()],
//
第二个元素是数组
'
江苏
',
//
第三个元素是字符串
25+25,
//
第四个元素是数值
new Array(1,2,3)
//
第五个元素是数组
];
alert(box);
PS
:数组最多可包含
4294967295
个元素,超出即会发生异常。
二、一些方法
1.转换方法
对象或数组都具有toLocaleString()、toString()和valueOf()方法。其中toString()和valueOf()无论重写了谁,都会返回相同的值。数组会讲每个值进行 字符串形式的拼接,以逗号隔开。
join()方法使用不同的分隔符来构建这个字符串
var box = ['
李炎恢
', 28, '
计算机编程
'];
alert(box.join('|'));
//
李炎恢
|28|
计算机编程
2.栈是后进先出,有push()和pop()方法
队列是先进先出,有push()和shift()方法
3.重排序方法:
1)reverse()逆向排序
2)sort()从小到大
sort
方法的默认排序在数字排序上有些问题,因为数字排序和数字字符串排序的算法是一样的。我们必须修改这一特征,修改的方式,就是给
sort(
参数
)
方法传递一个函数参数。这点可以参考手册说明。
function compare(value1, value2) {
//
数字排序的函数参数
if (value1 < value2) {
//
小于,返回负数
return -1;
} else if (value1 > value2) {
//
大于,返回正数
return 1;
} else {
//
其他,返回
0
return 0;
}
var box = [0,1,5,10,15];
//
验证数字字符串,和数字的区别
alert(box.sort(compare));
//
传参
4.操作方法
1)concat()方法可以基于当前数组创建一个新数组。
2)slice()方法可以基于当前数组获取指定区域元素并创建一个新数组。splice()主要用途是向数组的中部插入元素。
var box = ['李炎恢', 28, '盐城','计算机编程','江苏'];
var box2 = box.slice(1,3); //这里不是从第1个位置取3个
alert(box2); //而是从第1个位置取到第3个位置
var box = ['李炎恢', 28, '盐城'];
var box2 = box.splice(0,2); //这里表示从第0个位置取2个,
alert(box2); //而不是从第0个位置取到第2个位置
var box = ['李炎恢', 28, '盐城'];
var box2 = box.splice(0,2); //这里表示从第0个位置取2个,
alert(box2); //而不是从第0个位置取到第2个位置
alert(box);
var box = ['李炎恢', 28, '盐城'];
var box2 = box.splice(1,0,'江苏','计算机编程'); //从第1个插入点插入元素,0表示不删除
alert(box2);
alert(box);
*/
var box = ['李炎恢', 28, '盐城']; //替换
var box2 = box.splice(1,1,100);
alert(box2);
alert(box);