《JavaScript学习笔记七》:数组和可变参数arguments的介绍
1、定义数组
定义数组有如下两种方式:
1、var arr=[1,2,3];
2、var arr=new Array(1,2,3);
这两种数组定义的方法没有任何区别,但是,第一种方法的效率要高点,这是因为js是一种解释性语言,第一种代码要短点。
2、使用数组
数组中有如下一些常见的方法:
1、push(num):在数组尾部添加一个元素
2、pop():删除数组尾部的一个元素
3、shift():删除数组头部的一个元素
4、unshift(num):在数组头部添加一个元素
5、splice(startIndex,len):删除从startIndex位置开始长度为len的元素;
当len=0,就是删除0个元素,即不删除。
5、splice(startIndex,0,num1,num2,…):从startIndex位置开始添加元素num1、num2、。。。。
6、数组可以通过.length来获取数组的长度,而这个length属性可读可写,当我们写这个属性时,就相当于在更改(删除或添加)这个数组。
具体看如下的例子。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script>
window.onload=function ()
{
//var arr=[4,3,2,9,8,7];
var arr=new Array(1,2,3);
//arr.push(10);//在数组尾部添加一个元素
//arr.pop();//在数组尾部删除一个元素
//arr.shift();//在数组头部删除一个元素
//arr.unshift(99);//在数组头部添加一个元素
//arr.length=4;//数组的length可读可写,此时相当于只保留数组中的前4个元素,length的一个用途可以用于清除数组中的所有元素:length=0
//arr.length=10;//当我们设置的长度大于它的实际长度时,则剩下的元素是undefined的
//alert(typeof arr[8]);
//splice的应用
//arr.splice(2,3);//删除数组的元素,splice(起点,删除元素的个数);
arr.splice(2,0,21,22,23);//splice(起点,删除元素的个数,元素....);如果删除元素的个数为零,后面还接有元素,则相当于是在起点位置插入元素
alert(arr);
}
</script>
</head>
<body>
</body>
</html>
3、可变参数arguments的使用
说到数组,觉得又必要说下可变参数arguments。
假设我们定义了如下函数:
function sum()
{
var result=0;
for(var i=0;i<arguments.length;i++)
{
result+=arguments[i];
}
return result;
}
当我们调用sum函数时,可以给sum传递任意个参数
1、求两个数的和,你可以这样调用:sum(3,4) //结果为 7
2、求三个数的和,你可以这样写:sum(2,3,4);//结果为9
3、求n个数的和,你可以这样写:sum(1,2,3,…,n);//n个参数
参考资料
1、blue老师的《js视频教程》