数组的概述、属性及特点

一、数组概述

描述:使用单独的变量名来存储一系列的值【数组下标从0开始】

数组的创建:

       (1)常规方式(new关键字)

                   var names = new Array();

                   names[0] = "Lily";

                   names[1] = "Lucy";

                   names[2] = "John";...

       (2)简洁方式

                   var names = new Array("Lily","Lucy","John");

       (3)字面量方式

                   var names = ["Lily","Lucy","John"];

数组的修改:数组名[下标] = "修改后的值";

数组的访问:通过数组名[下标]访问;

//常规方式(new关键字)创建数组
var names = new Array();
names[0] = "Lily";
names[1] = "Lucy";
names[2] = "John";
console.log(names); //["Lily", "Lucy", "John"]
		
//简洁方式创建数组
var names = new Array("Lily","Lucy","John");
console.log(names); //["Lily", "Lucy", "John"]
		
//字面量方式创建数组
var names = ["Lily","Lucy","John"];
console.log(names); //["Lily", "Lucy", "John"]
		
//修改数组第二个元素
names[1] = "Make";
console.log(names[1]); //Make
console.log(names); //(3) ["Lily", "Make", "John"]

二、数组属性

1.constructor属性

描述:本属性返回对象的构造函数

         【返回值时函数的引用,不是函数名】

           如果一个变量是数组你可以使用 constructor属性来定义

语法:arr.constructor;

兼容性:所有主流浏览器都支持

var arr = [1,4,5,3,6,8];
console.log(arr.constructor); //ƒ Array() { [native code] }

2.length属性

描述:本属性可设置或返回数组中元素的数目

语法:

(1)设置数组长度:arr.length = number;

(2)访问数组长度:arr.length;

注意:

         (1)如果设置length长度小于数组本身长度,那么多余的元素舍弃

         (2)如果设置length长度大于数组本省长度,那么缺少元素用空位补齐

         (3)如果设置length长度不是合法数值,那么会报错 Invalid array length

兼容性:所有主流浏览器都支持

var arr = [23,45,45,3,1,6];
arr.length = 3;
console.log(arr.length); //3
console.log(arr); //(3) [23, 45, 45]
		
var arr = [23,45,45,3,1,6];
arr.length = 8;
console.log(arr.length); //8
console.log(arr); //(8) [23, 45, 45, 3, 1, 6, empty × 2]
		
var arr = [23,45,45,3,1,6];
arr.length = -1; //报错 Invalid array length

3.prototype属性

描述:该属性可以向对象添加属性和方法

语法:object.prototype.name = value;

注意:

         (1)Array.prototype单独不能引用数组, Array()对象可以

         (2)在js对象中,Prototype是一个全局属性

兼容性:所有主流浏览器都支持

function student(name,age,sex){
	this.name = name;
	this.age = age;
	this.sex = sex;
};
var stu = new student("Licy",18,"女");
student.prototype.phone = null;
stu.phone = "12345678910";
console.log(stu.phone); //12345678910

三、数组特点

1.数组的本质

描述:数组本质上是对象类型的一种特殊表现形式

           数组元素可以是一个字符串,数字,数组,布尔,或者其他对象类型。

var arr = [1,2,3,4,5];
console.log(typeof arr); //object

2.数组的遍历

描述:数组遍历实际上时通过for-in循环来遍历数组中的每一个元素

语法:

         for(var 变量名 in 数组){

                   循环体;

         }

var arr = [23,45,65,76,34,56,45,12,23,57,89];
for(var i in arr){
	console.log(arr[i]);
};
//等价于
var arr = [23,45,65,76,34,56,45,12,23,57,89];
for(var i=0;i<arr.length;i++){
	console.log(arr[i]);
};

执行结果如下:

3.数组的空位

描述:如果数组中某个位置时空元素,即两个逗号之间没有任何值。那么就说数组存在空位

注意:数组的空位是计算长度的

var arr = [12,34,,55,66,77,88];
console.log(arr); //(7) [12, 34, empty, 55, 66, 77, 88]
console.log(arr.length); //7

4.数组的删除

描述:delete命令能过删除数组元素的值,从而形成空位

语法:delete arr[];

注意:delete删除数组元素的时候,只能删除数组元素的值,而不是把数组元素删除

var arr = [11,22,33,44,55,66,77,88,99];
console.log(delete arr[3]); //true
console.log(arr.length); //9
console.log(arr); //(9) [11, 22, 33, empty, 55, 66, 77, 88, 99]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值