使用构造函数:var arr = new Array()
使用字面量形式:var arr = [1,2,3]
其他形式只是对这两种形式的不同用法;
建议买本高程的书看吧,里面介绍的既详细又系统。
+++++++++++++++++
补充:
其实还有一种方式: var arr = Array()也是构造函数声明方式的简写
这三种声明方式实际上并没有什么区别,可以根据不同需求来.
比如:
声明一个长度200的数组,元素不确定, 使用构造函数比较好. var arr = Array(200)
声明一个有五个元素的数组,但第四个元素不确定,可以用字面量. var arr = ["apple","bannar","pear",,"orange"]
当然最常用的就是字面量形式了.详细Array object
翻书不方便,平时可以多查查MDN,类似于文档,但比W3SCHOOL靠谱详细的多.但对于对象来说,两种声明方式是有点不太一样的,具体的你可以去MDN上查找相关资料.
下面最后两种很少见,也不要用,书上都没教,纯粹这样也是宣告(声明)数组的合法语句而已:
var a = []
var b = new Array()
var c = Array()
var d = Object.create(Array.prototype)
a.push(1)
b.push(2)
c.push(3)
d.push(4)
console.log(a)
console.log(b)
console.log(c)
console.log(d)
要用var a = []而不要用var a = new Array()这种,是因为第二种比较慢,而且它如果只传一个参数时,与传两个参数的行为不同,容易在使用上造成错误。
有些人从其他语言(例如Java)学过来学或教JS的人会认为像var a = new Array(10)可以预先分配好空间,之后作处理方便。但JS是脚本语言,数组的宣告(声明)与执行方式是不同的。
Array 对象用于在单个的变量中存储多个值,在JavaScript中声明一个数组的方法有很多。
工具原料:编辑器、浏览器
1、在JavaScript中声明一个数组的方法是 new Array(),声明一个数组并且存储值的方法如下:
<html><body>
<script type="text/javascript">
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (i=0i<mycars.lengthi++)
{
document.write(mycars[i] + "<br />")
}
</script>
</body>
</html>
2、运行的结果如下:
声明创建一个数组对象: var arr = new Array() 或者 var arr = []
连接两个或者多个数组,并且返回该数组,语法: array.concat(object,object,......)
通过指定字符(参数)对数据进行分割,返回字符串,参数省略的话则用默认用逗号为分隔符
删除数组的最后一个对象,返回该删除元素的值
向数组末尾添加一个或者多个对象,语法: array.push(newObject1,newObject2,.....)
删除数组的第一个对象,并返回删除的元素
向数组开头添加一个或者多个元素,并返回新的长度
从已知数组中返回指定选中的数据(不包括end 对应的元素),如果省略 end 将复制 start 之后的所有元素,该操作不会修改原数组的数据, slice(start,end)
向数组中删除/添加对象,并返回被删除的元素
splice(index,count,item1,item2,......)
方法用户对数组的排序, sort(sortby) ,sortby可选,必须是函数。如调用方法没有使用参数,则按字母顺序进行排序。
只要有一个满足的就返回true,没有满足的返回false
验证数组中是否每个元素都满足指定的条件
没有返回值,可以不知道数组长度
arr.forEach(function(res,index){ })
返回值组成新数组,原数组不变
过滤通过条件的元素组成一个新数组,原数组不变
查找出第一个符合条件的数组成员,并返回该成员,如果没有找到就返回undefine
找到的是位置,找不到返回 -1
填充, arr.fill(填充的东西,start,end) 包括end