js数组

  总感觉js定义数组有些诡异,简直是是非常随意麻!还有函数的默认参数,也跟c有很大的不同!!

一、数组

声明(注:js是不用声明变量的,但是为了方便调试,最好声明下):

var arr = new Array();                            //默认长度是0
var arr =new Array(3); //指定长度,但仍可变
var arr = new Array(3, 5, "hello", new Array(1, "world"));
var arr = [3, 5, "hello", new Array(1, "world")];

var arr = new Array(
new Array(),
new Array()
);
var arr = new Array(
new Array(11, 22),
new Array(33, 44)
);
var arr = new Array(
["a", "b"],
["c", "d"]
);
var arr = [ ["a", "b"], ["c", "d"] ];
var arr = [ ["a", "b"], arr1, arr2 ];

大概就这两种方式,以对象的方式声明和隐式的声明,以及两者的混合,再者是否有初始值等。

访问与赋值(其引号不区分单双):

arr[0] ='test';

 

添加(返回新长度):

arr.push(3, 4, 5);         //从结尾添加
arr.push(3, 4, 5);         //从开头添加

另:splice()  ,指定位置

 

删除(返回操作元素值):

arr.pop();              //最后一个
arr.shift();            //最前一个

另:splice(pos, count) 指定元素

 

截取合并:

arr.slice(start, end)
  arr.concat(item1, item2, ...) 

 

拷贝:

arr.slice(0)
arr.concat()

 

排序:

arr.reverse()
arr.sort()

 

字符串化:

arr.join(separator)

 

属性:

arr.length                 //注意长度可变,如果设置后的比原来小,其他元素会丢失

遍历

for(i in arr)
  console.log(arr[i])

 

二、函数

函数 默认参数 与其他不一样!!!

function test(a){
	var b =arguments[1]?arguments[1]:50;

	return a +':' +b;
}

  

posted @ 2011-09-21 21:23  xiangzi888  阅读(296)  评论(0编辑  收藏  举报