前端day07--JavaScript中的函数

本文深入探讨JavaScript中的函数,包括函数定义的关键字、参数的使用方式,特别是arguments对象的应用,以及函数没有重载的特性。通过例子解析了函数参数如何与arguments同步,并指出未传值的命名参数默认为undefined,最后强调了同名函数后定义覆盖前定义的规则。
摘要由CSDN通过智能技术生成

函数

关键字:function
格式:

function functionName(arg0,arg1,arg2,...,argn){
	statements
}
function sun(num1,num2){
	var result = num1+num2;
	return result;
}
  • 在函数中,return语句后面的任何语句都不会执行.
  • 如果在函数中return语句后面没有任何返回值,则返回undefined,这种情况可以用在需要提前停止函数又不需要返回值的情况下.

函数的参数

  • 命名的的参数只是提供便利,但不是必须的.
  • 在函数体内可以通过arguments对象来访问这个参数数组,可以使用方括号来访问他的每一个元素:arguments[0],arguments[1],…
functon howManyArgs(){
	alert(arguments.length);
}
howManyArgs("string",45);//2--->表示有两个参数
howManyArgs();//0--->表示没有参数
howManyArgs(1);//1--->表示一个参数
function doAdd(){
	if(arguments.length == 1){
		alert(arguments[0] +10 );
	} else if(arguments.length == 2){
		alert(arguments[0]+arguments[1]);
	}
}
doAdd(10);//20
doAdd(10,20);//30
  • arguments对象可以和参数一起使用
function doAdd(num1,num2){
	if(arguments.length == 1){
		alert(num1+20);
	}else if(arguments.length == 2){
		alert(arguments[0]+num2);
	}
}
doAdd(10,20);//30

在上述代码中arguments[0]和num1的值相同,可以互换使用.

  • arguments对象的值永远和对应命名参数的值保持同步
function doAdd(num1,num2){
	arguments[1] = 10;
	alert(argulments[0]+num2);
}

每次执行这个函数库都会将第二个参数重写为10,因为arguments对象中的值会自动映射到对应的命名参数,修改了arguments[1],也就是修改了num2.
但是,并不代表读取这两个值会访问相同的内存空间.它们的内存空间是独立的,但是值会同步.

  • 没有传递值的命名参数会被自动赋予undefinded值

函数没有重载

如果两个函数名相同,后定义的函数会覆盖先定义的函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值