JavaScript学习5

本文详细介绍了JavaScript中数组的基本操作,包括创建、访问、遍历、排序及元素增删等,并深入探讨了函数的定义、参数传递、返回值处理及常见应用场景。

因为有其他语言的基础,所以这部分的内容写得相对简洁

数组

数组可以将一组相关的数据一起存放,并且提供方便的访问方式

数组就是一组数据的集合,其中每个数据被称为元素,元素可以为任意类型。

创建数组

可以使用new创建数组

//创建一个空数组a
var a = new Array();

也可以利用数组字面量创建数组,即使用[]

//创建一个空数组a
var a=[];

数组中的元素用,分隔开

访问数组元素

数组的索引是用来访问数组元素的序号,从0开始

数组可以通过索引来访问、设置、修改对应的数组元素

可以通过 数组名[访问元素的索引] 来访问元素

当找不到索引对应的数组元素时,返回undefined

遍历数组

可以通过循环来遍历数组

遍历:把数组中的每个元素从头到尾访问一次

遍历过程中需要使用到数组长度,而使用 数组名.length 就可以统计数组长度

<script>
	var a=[1,2,3,4,5];
	for(var i=0;i<a.length;i++){
		console.log(a[i]);
	}
</script>

冒泡排序

		<script>
			var a=[5,7,3,8,9,1];
			var m;
			for(var i=0;i<a.length;i++){
				for(var j=0;j<a.length-i-1;j++){
					if(a[j]>a[j+1]){
						m=a[j];
						a[j]=a[j+1];
						a[j+1]=m;						
					}	
				}
			}
		</script>

新增数组元素

可以通过修改length长度或者直接设置索引号新增数组元素

		<script>
			var a=[5,7,3,8,9,1];
			// 修改数组长度为7
			// 此时新增的数组元素未被设定,默认为undefined
			a.length=7;
			// 通过索引号追加数组元素
            // 直接设置索引号对应的值
            //设置新的索引号之后,如果中间存在未设定的索引号对应的值,其值默认为undefined
            //例如此时a[7]=undefined
			a[8]=4
		</script>

函数

函数就是封装了一段可以被重复调用执行的代码块。通过此代码块可以实现大量代码的复用。

函数的使用

function 函数名(形参){
    函数体
}

function是声明函数的关键字

函数是做某件事情,函数名一般是动词

如果不调用函数,则函数不会执行

函数的封装就是把一个或多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口

函数的参数

在声明函数的小括号里面的参数是形参,函数调用时小括号里面的是实参。

形参是接收实参的

函数的参数可以有,也可以没有,数量没有限制

函数调用时,如果给的实参的个数多于形参的个数(设为n),则取前n个实参传递给形参

如果给的实参的个数小于形参的个数,则没有接收到值的形参为undefined

函数的返回值

函数通过return语句将值返回给调用者

return语句终止函数,只执行一次,并且只能返回一个值,return语句中如果一不小心有多个值,返回最后一个。

如果函数没有return语句,则返回undefined

arguments

当我们不确定有多少个参数传递时,可以使用arguments来获取,它实际上是当前函数的一个内置对象。所有函数都内置了一个arguments对象,它存储了传递的所有实参。arguments以伪数组的形式展示,它有数组的length属性,按照索引的方式进行存储,没有真正数组的一些方法(pop、push等)。

只有函数有arguments,并且不需要我们额外设定。

函数可以调用另一个函数

因为每个函数都是独立的代码块,用于完成特殊任务,因此经常会用到函数相互调用的情况

实例

翻转数组

		<script>
			function reverse(a){
				var n=a.length;
				var t;
				if(n%2==0){
					for(var i=0;i<n/2;i++){
						j=n-i-1;
						t=a[i];
						a[i]=a[j];
						a[j]=t;
					}
				}
				else{
					for(var i=0;i<(n-1)/2;i++){
						j=n-i-1;
						t=a[i];
						a[i]=a[j];
						a[j]=t;
					}
				}
				return a;
			}			
			console.log(reverse([1,2,3,4]));
		</script>

判断是否为闰年

		<script>	
			function isRunYear(a){
				if(a%4==0 && a%100!=0){
					console.log(a+"是闰年");
				}else if(a%400==0){
					console.log(a+"是闰年");
				}else{
					console.log(a+"不是闰年");
				}
			}
			b=prompt('请输入年份:')
			isRunYear(b);
		</script>

通过函数表达式定义函数

也被称为匿名函数

var 变量名=function(形参){
    函数体
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值