javascript当中用的最多的有两个,一个是对象,另外一个是数组,当然数组也属于是对象的一种。数组中的元素可以是任何形式的,可以是数字,可以是字符串,也可以是对象。
new 方式声明一个数组
首先,咱们说数组,就不得不说数组的声明,只有声明了一个数组才可以用嘛,没毛病。声明数组的方式有好多种:
用new Array的方式声明一个数组,返回当前数组的引用。当然传进去的参数不一样,得到的数组也是不一样的。
1、传递0个参数,得到的就是一个空数组:
var arr = new Array();
console.log(arr);
得到的结果就是:
[]
2、传递一个参数。
这种情况有好多种,可以传递一个数字,一个字符串,也可以传递一个数组,不过所幸的是传递一个字符串和传递一个数组,咱们得到的数组在形式上是一样的。
先来看传递一个数字:
var arr = new Array(3);
console.log(arr);
咱们得到的是一个长度为3的每个元素都是undefined的数组。
接下来,看一下传递一个字符串进去:
var arr = new Array('tom');
console.log(arr);
ok ,咱们创建额一个有一个元素为tom的数组,运行的结果就是:
["tom"]
ok,咱们刚才提到传递一个数组进去的结果和传递一个对象进去的结果形式上是一样的,试一下呗
var arr = new Array([1,2]);
console.log(arr);
ok ,咱们的数组创建成功了,那么,运行结果与咱们想象中的是否是一样的呢:
[[1,2]]
是的,咱们的运行结果和咱们想象中是一模一样,所以咱们可以得出结论:数组传递一个参数时,如果参数是数字n就声明一个长度为n的元素为undefined的数组,否则就声明一个长度为1的元素为参数的数组。
3、传递多个参数
好,传递一个参数的问题完事了,真费劲,接下来咱们看多参数的,想象一下呗,传递多个参数,参数类型不固定,参数个数也不固定,你觉得js会怎么处理它们呢??
是的,js没有做特别复杂的处理,就只是把传递的参数作为元素放到了一个数组中,返回给我们了,接下里进入大家最喜欢的罗代码时间:
var arr = new Array(1,'tom',{name:'tom'});
console.log(arr);
好的,这应该是比较复杂的传递进去的数据了,返回的结果是什么呢,和上面说的一点都对:
[1, "tom", Object:{name:"tom"}]
是的,js就是这么处理数组的,里面的元素想是什么样的就是什么样的,伟大的js数组里面的元素,只有你想不到,没有它存不了。
直接声明的方式
顾名思义,直接声明是最简单的,也是最快的声明一个数组的方式,咱们再开发过程中,基本都是这么干的,之所以说快,指的是,占内存小,并且便捷(当然是少敲几个代码咯),怎么声明呢,很简单:
var arr1 = [];
var arr2 = [1,'tom',{name:'jack'}];
是的,就是这么简单。