new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
三种创建方法
使用new不是用new的结果是完全一样的。
不存在C或者C++中的指针。
我们试一下第一个
var data = new Array();
console.log(data.length)
这个就是执行结果。
然后我们试一下第二个构造方法。
var data = new Array(5);
console.log(data.length)
5
第三种
var data = new Array(5,1);
console.log(data.length)
2
三个属性。
constructor 返回对创建此对象的数组函数的引用。
案例:
案例一
var data = new Array(5,1);
console.log(data.constructor)
输出
ƒ Array() { [native code] }
案例二
function employee(name,job,born)
{
this.name=name;
this.job=job;
this.born=born;
}
var bill=new employee("Bill Gates","Engineer",1985);
console.log(bill.constructor);
输出
ƒ employee(name,job,born)
{
this.name=name;
this.job=job;
this.born=born;
}
案例三
var test=new Array();
if (test.constructor==Array)
{
console.log("This is an Array");
}
if (test.constructor==Boolean)
{
console.log("This is a Boolean");
}
if (test.constructor==Date)
{
console.log("This is a Date");
}
if (test.constructor==String)
{
console.log("This is a String");
}
输出
This is an Array
length 设置或返回数组中元素的数目。
var ss = Array();
console.log(ss.length);
ss.length=5;
console.log(ss.length)
0
5
我们可以通过这个属性获取大小并且设置大小。
prototype 使您有能力向对象添加属性和方法。
employee.prototype.salary=null;
bill.salary=20000;
console.log(bill.salary);
给某个对象动态添加属性,这个属性只属于这个对象。
2000
方法 | 描述 | 案例 |
---|---|---|
concat() | 连接两个或更多的数组,并返回结果。 | 元素和迭代类型都可以,元素添加末尾,迭代就遍历添加。 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 | 类比于python中的 "".join(),用分割符连接输出,比如python里面print的默认分割符是空格 |
pop() | 删除并返回数组的最后一个元素 | |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 | 一个或多个,改变长度 |
reverse() | 颠倒数组中元素的顺序。 | |
shift() | 删除并返回数组的第一个元素 | |
slice() | 从某个已有的数组返回选定的元素 | 可以是负数 |
sort() | 对数组的元素进行排序 | 支持回调,必须是方法,类比C里面 qsort 方法。 |
splice() | 删除元素,并向数组添加新元素。 | s plus lice。添加0或多个,index,howmany,elements... |
toSource() | 返回该对象的源代码。 | |
toString() | 把数组转换为字符串,并返回结果。 | |
toLocaleString() | 把数组转换为本地数组,并返回结果。 | |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 | |
valueOf() | 返回数组对象的原始值 | 一般不调用 |